我参考以下基于 Django 2.0 和cookiecutter -django 的 GitHub 存储库:github.com/Apfelschuss/apfelschuss/tree/c8851430201daeb7d1d81c5a6b3c8a639ea27b02
尝试运行应用程序时出现以下错误:
运行时错误:模型类 votes.models.Author 未声明显式 app_label 并且不在 INSTALLED_APPS 中的应用程序中。
这行代码出现错误。
我尝试按照/sf/answers/2814466301/ 中的描述进行操作,但没有成功:
配置/设置/base.py
LOCAL_APPS = [
"apfelschuss.votes.apps.VotesConfig"
]
Run Code Online (Sandbox Code Playgroud)
apfelschuss/votes/apps.py
from django.apps import AppConfig
class VotesConfig(AppConfig):
name = "apfelschuss.votes"
verbose_name = "Votes"
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么吗?
如果有人对如何运行 repo 的 docker 容器感兴趣。它是在此处描述的。
我使用 cookiecutter-django 模板开始了我的第一个项目。
当我尝试使用 virtualenv 从 PyCharm 启动它时,它在 lib 文件中给出了一个错误:environ.py,告诉我:
File "/home/madtyn/venvs/nana/lib/python3.6/site-packages/environ.py", line 114
raise ValueError, "No frame marked with %s." % fname
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
经过搜索,我咨询了某人,有人向我推荐了另一种方式。正如他们告诉我的那样,我尝试制作一个新的 venv,
python3 -m venv /home/madtyn/venvs/name
Run Code Online (Sandbox Code Playgroud)
激活它
source /home/madtyn/venvs/name/bin/activate
Run Code Online (Sandbox Code Playgroud)
并从命令行运行服务器,但似乎发生了同样的事情。
我不认为我做错了什么。这些是我的规格:
使用cookiecutter-django创建Django项目后,是否有一条命令python manage.py startapp <app_name>
想要运行而不是从头开始编写新应用?
我正在尝试运行一个django-cookiecutter
项目,但ModuleNotFoundError: No module named 'iprestrict'
在某些容器中出现错误。我检查了我们的存储库,我的同事可以使用 Docker for Windows 和 Docker for Linux 成功构建和运行。我已经调试了一段时间,但现在我不知所措并寻求您的帮助。
这是我的设置:
$ uname -r
5.0.0-36-generic
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 19.04
Release: 19.04
Codename: disco
$ docker -v
Docker version 19.03.3, build a872fc2f86
$ docker-compose -v
docker-compose version 1.25.0, build 0a186604
$ service docker status
? docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-11-20 …
Run Code Online (Sandbox Code Playgroud) 我遇到了一个我不明白的问题,因此无法解决。
我有一个 Dockerized Django 项目,是我几个月前使用 Cookiecutter Django 创建的。今天,我的开发环境开始在每个请求上显示以下错误:
我目前在生产中没有遇到这个问题。我尝试回滚到之前正常工作的提交(例如,1 周前的提交),但我仍然收到此错误。
重新加载导致与数据库的连接关闭,因此我的项目根本无法正常工作。
有谁知道导致此问题的原因以及我该如何解决它?感觉像是我的 Docker 设置的问题,但几个月来都没有改变,所以我不明白为什么现在会改变。
非常感谢任何人可以提供的任何帮助!
我正在一个Django项目中,该项目分为5个应用程序(每个应用程序都有3-6个模型)。总体而言,这个项目绝对是我可以在其他项目中重复使用的项目,但是只有包含所有应用程序才有用,因为它们与内在相关。
因此,我想打包此项目以使其遵循Django docs和Django cookiecutter django包可重用。但是,这些示例仅显示如何与单个应用程序打包。
根据我的阅读,有几种选择:
我正在计划使用选项3,因为我认为选项1过于矫揉造作,而选项2被认为是不好的做法(请参阅此帖子和此帖子)。我在选项3中看到的问题是,使用此软件包的项目必须INSTALLED_APPS
像这样安装所有5个应用程序:
INSTALLED_APPS = [
'project',
'project.app1',
'project.app2',...
]
Run Code Online (Sandbox Code Playgroud)
INSTALLED_APPS
如果我将项目与5个应用程序打包在一起,有没有一种方法可以避免必须安装所有应用程序?还是选项1或2更适合此用例?
我正在将Django cookiecutter与docker和docker-compose一起使用。
在生产中,我使用dj-static来提供媒体文件。
每当我使用“ docker-compose down”命令时,媒体卷中的所有内容都会被删除。我认为这是该命令的预期结果,但保留了“ postgreSQL”中的所有内容。
如何用“媒体”量来做到这一点?
我正在尝试弄清楚如何为我的 cookiecutter 模板编写测试套件。
在查看了 cookiecutter-django 模板的测试后,cookiecutter-django/tests/test_cookiecutter_generation.py
我发现大多数测试函数都采用一个名为 的参数cookies
。在测试函数本身内,有一个方法调用,对作为被调用的 cookies 参数传入的任何对象进行调用bake
。
我想知道这个对象是什么以及它是从哪里导入的?
我修改了 django-cookiecutter 默认生产模板,使caddy Web 服务器提供静态文件。我使用的卷映射./static
在目录中的Django和球童通过主机containters./static
目录,但我收到一个权限错误,当搬运工执行python manage.py collectstatic --noinput
试图创建的子文件夹./static
。
但是,如果我不在django
django 容器的 Dockerfile 中切换到用户,因此collectstatic
以 root身份执行,则一切正常。我猜django
容器中的用户不允许写入主机目录,即使chown -R django /app/static
已成功执行。
回溯(最近一次调用):
文件“/app/manage.py”,第 30 行,在 <\module>
execute_from_command_line(sys.argv)
...
文件“/usr/local/lib/python3.6/site- package/collectfast/management/commands/collectstatic.py”,第 111 行,在
copy_file self.do_copy_file(args)
文件“/usr/local/lib/python3.6/site-packages/collectfast/management/commands/collectstatic.py “,第 100 行,在 do_copy_file
路径,prefixed_path ,source_storage)
文件“/usr/local/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py”,第 354 行,在 copy_file
self.storage.save(prefixed_path, source_file)
文件“/usr/local/lib/python3.6/site-packages/django/core/files/storage.py”,第 49 行,保存
返回 self._save(name, content)
文件“/usr/local/lib/python3.6/site-packages/django/core/files/storage.py”,第 236 行,在 _save
os.makedirs(directory)
文件“/usr/local/lib/python3. 6/os.py", line 220, in makedirs …
尝试了解 docker-compose 文件是如何创建的,因为我想将其复制到 kubernetes 部署 yaml 文件中。
参考cookiecutter-django 的 docker-composeproduction.yaml
文件:
...
services:
django: &django
...
Run Code Online (Sandbox Code Playgroud)
通过 docker-compose 设计,这里的服务名称已经定义为django
,但后来我注意到这个额外的位&django
。这让我想知道为什么它在这里。再往下看,我注意到以下几点:
...
celeryworker:
<<: *django
...
Run Code Online (Sandbox Code Playgroud)
我不明白这是如何运作的。docker-compose 文档没有引用或提及使用<<
,更不用说引用命名服务了,例如*django
.
谁能解释一下上述工作原理以及如何将其复制到 kubernetes 部署或服务 yaml 文件(或两者?)(如果可能)?
编辑:@jonsharpe 分享的问题 是相似的,但我不清楚它是如何使用的。