标签: cookiecutter-django

运行时错误:模型类 xxx 未声明显式 app_label 并且不在 INSTALLED_APPS 中的应用程序中

我参考以下基于 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 容器感兴趣。它是在此处描述的。

django python-3.x cookiecutter-django

9
推荐指数
2
解决办法
2万
查看次数

新的 cookiecutter django 项目在 environ.py 中显示“无效语法”

我使用 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)

并从命令行运行服务器,但似乎发生了同样的事情。

我不认为我做错了什么。这些是我的规格:

  • Kubuntu(64 位体系结构)
  • Python 3.6.8(包括 venv 和主版本)
  • cookiecutter 1.6.0(通过pip3安装)
  • 皮查姆 2019.2.2

python django python-3.x cookiecutter cookiecutter-django

8
推荐指数
2
解决办法
7173
查看次数

是否有使用cookiecutter-django创建应用的命令?

使用cookiecutter-django创建Django项目后,是否有一条命令python manage.py startapp <app_name>想要运行而不是从头开始编写新应用?

django cookiecutter-django

7
推荐指数
2
解决办法
1471
查看次数

在 docker 容器中找不到 Python 模块

我正在尝试运行一个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)

python django docker docker-compose cookiecutter-django

7
推荐指数
0
解决办法
4665
查看次数

Docker 中的 Django“检测到...的更改,正在重新加载”错误

我遇到了一个我不明白的问题,因此无法解决。

我有一个 Dockerized Django 项目,是我几个月前使用 Cookiecutter Django 创建的。今天,我的开发环境开始在每个请求上显示以下错误:

错误代码

我目前在生产中没有遇到这个问题。我尝试回滚到之前正常工作的提交(例如,1 周前的提交),但我仍然收到此错误。

重新加载导致与数据库的连接关闭,因此我的项目根本无法正常工作。

有谁知道导致此问题的原因以及我该如何解决它?感觉像是我的 Docker 设置的问题,但几个月来都没有改变,所以我不明白为什么现在会改变。

非常感谢任何人可以提供的任何帮助!

django docker docker-compose cookiecutter-django

7
推荐指数
1
解决办法
413
查看次数

推荐的打包Django项目的方法?具有多个应用程序或多个Django软件包的Django软件包?

我正在一个Django项目中,该项目分为5个应用程序(每个应用程序都有3-6个模型)。总体而言,这个项目绝对是我可以在其他项目中重复使用的项目,但是只有包含所有应用程序才有用,因为它们与内在相关。

因此,我想打包此项目以使其遵循Django docsDjango cookiecutter django包可重用。但是,这些示例仅显示如何与单个应用程序打包。

根据我的阅读,有几种选择:

  1. 制作5包
  2. 使用30个模型制作一个应用,并将models.py转换为模块
  3. 使用5个应用制作一个程序包(类似于django-allauth的设置方式)

我正在计划使用选项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更适合此用例?

python django cookiecutter-django

6
推荐指数
1
解决办法
872
查看次数

带有docker-compose的Django应用将数据保留在媒体卷中

我正在将Django cookiecutter与docker和docker-compose一起使用。

在生产中,我使用dj-static来提供媒体文件。

每当我使用“ docker-compose down”命令时,媒体卷中的所有内容都会被删除。我认为这是该命令的预期结果,但保留了“ postgreSQL”中的所有内容。

如何用“媒体”量来做到这一点?

django docker docker-compose cookiecutter-django

6
推荐指数
1
解决办法
2015
查看次数

Cookiecutter模板测试,cookies.bake是什么?

我正在尝试弄清楚如何为我的 cookiecutter 模板编写测试套件。

在查看了 cookiecutter-django 模板的测试后,cookiecutter-django/tests/test_cookiecutter_generation.py我发现大多数测试函数都采用一个名为 的参数cookies。在测试函数本身内,有一个方法调用,对作为被调用的 cookies 参数传入的任何对象进行调用bake

我想知道这个对象是什么以及它是从哪里导入的?

cookiecutter-django

6
推荐指数
1
解决办法
1146
查看次数

运行 collectstatic 时在 django Docker 容器内的 mkdir 上的权限被拒绝

我修改了 django-cookiecutter 默认生产模板,使caddy Web 服务器提供静态文件。我使用的卷映射./static在目录中的Django球童通过主机containters./static目录,但我收到一个权限错误,当搬运工执行python manage.py collectstatic --noinput试图创建的子文件夹./static

但是,如果我不在djangodjango 容器的 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_pa​​th ,source_storage)
文件“/usr/local/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py”,第 354 行,在 copy_file
self.storage.save(prefixed_pa​​th, 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 …

django docker docker-compose cookiecutter-django caddy

6
推荐指数
1
解决办法
4601
查看次数

解释一下 `&lt;&lt;: *name` 如何在 docker-compose 中引用 `&amp;name`?

尝试了解 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 分享的问题 是相似的,但我不清楚它是如何使用的。

django yaml docker docker-compose cookiecutter-django

6
推荐指数
1
解决办法
839
查看次数