我想覆盖默认的django管理过滤器模板,使用我自己的模板:
https://github.com/feincms/feincms/blob/master/feincms/templates/admin/filter.html
我SimpleListFilter通过继承来编写自己的类django.contrib.admin.SimpleListFilter
class PublisherStateFilter(admin.SimpleListFilter):
title = _('Status')
parameter_name = 'status'
template = 'admin/blogitty/filter.html'
[...]
Run Code Online (Sandbox Code Playgroud)
这非常有效.

但是我想对所有管理过滤器使用相同的模板.有没有办法覆盖给定应用程序的所有过滤器模板,而无需ListFilter为每个ForeignKey和ManyToMany关系定义自定义.
我的项目是blogitty.我尝试了模板DIR的两个选项:
blogitty/templates/admin/filter.html
Run Code Online (Sandbox Code Playgroud)
和:
blogitty/templates/admin/blogitty/filter.html
Run Code Online (Sandbox Code Playgroud)
没运气 :-(
浏览源代码:
https://github.com/django/django/blob/master/django/contrib/admin/options.py#L1030
return TemplateResponse(request, form_template or [
"admin/%s/%s/change_form.html" % (app_label, opts.model_name),
"admin/%s/change_form.html" % app_label,
"admin/change_form.html"
], context)
Run Code Online (Sandbox Code Playgroud)
https://github.com/django/django/blob/master/django/contrib/admin/options.py#L1569
return TemplateResponse(request, self.change_list_template or [
'admin/%s/%s/change_list.html' % (app_label, opts.model_name),
'admin/%s/change_list.html' % app_label,
'admin/change_list.html'
], context)
Run Code Online (Sandbox Code Playgroud)
据我了解.Django ModelAdmin检查多个路径以呈现给定模型的changeform或changelist.但是,对于a ListFilter,不会进行额外的检查以加载自定义模板.
https://github.com/django/django/blob/master/django/contrib/admin/filters.py#L60
class ListFilter(object):
title = None
template = 'admin/filter.html' …Run Code Online (Sandbox Code Playgroud) django django-admin django-admin-filters cookiecutter-django
我正在尝试使用 docker 运行 django 应用程序,我正在使用现有的cookiecutter-django 模板。但是,当尝试运行该应用程序时,我收到以下错误:
错误请求 (400)
当从终端查看日志时,我看到以下内容:
django_1 | [2015-12-18 17:08:04 +0000] [15] [INFO] Booting worker with pid: 15
django_1 | [2015-12-18 17:08:04 +0000] [16] [INFO] Booting worker with pid: 16
django_1 | [2015-12-18 17:08:04 +0000] [18] [INFO] Booting worker with pid: 18
django_1 | [2015-12-18 17:08:04 +0000] [20] [INFO] Booting worker with pid: 20
django_1 | ERROR 2015-12-18 18:08:07,072 base 18 140496642320128 Invalid HTTP_HOST header: '192.168.99.100'. You may need to add '192.168.99.100' to ALLOWED_HOSTS.
nginx_1 …Run Code Online (Sandbox Code Playgroud) 我想使用cookiecutter来启动一个django项目但由于某种原因无法找到cookiecutter.
我做的是:
pip install cookiecutter
Run Code Online (Sandbox Code Playgroud)
之后:
cookiecutter https://github.com/pydanny/cookiecutter-django
Run Code Online (Sandbox Code Playgroud)
然后我收到错误消息:
The program 'cookiecutter' is currently not installed. You can install it by typing:
sudo apt install cookiecutter
Run Code Online (Sandbox Code Playgroud)
但是,当我使用apt安装cookiecutter并运行时cookiecutter https://github.com/pydanny/cookiecutter-django出现错误.
Traceback (most recent call last):
File "/usr/bin/cookiecutter", line 9, in <module>
load_entry_point('cookiecutter==1.3.0', 'console_scripts', 'cookiecutter')()
File "/usr/lib/python2.7/dist-packages/click/core.py", line 716, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/usr/lib/python2.7/dist-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python2.7/dist-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs) …Run Code Online (Sandbox Code Playgroud) 我在重新构建并重新开始cookiecutter-django docker-compose生产时遇到了这个问题。我可以通过删除所有的码头工人停止容器或通过增加来解决这个rm -f './celerybeat.pid'在/compose/production/django/celery/beat/start.sh类似/compose/local/django/celery/beat/start.sh。是否有任何理由不在撰写文件的生产版本中包含此特定代码?
我在五月份使用 @pydanny 的 cookiecutter-django 构建了一个应用程序,docker-compose 用于开发和生产环境,并且运行得很好,
现在我有一个异步任务的需求,我想使用Celery,我一开始使用cookiecutter工具时没有选择celery,
将 celery 集成到我的项目中的最佳方法是什么?另请注意,我可能会借此机会将 docker-compose 从版本 2 升级到版本 3,将 mailgun、Django 等带到最新版本
集成到实时项目中是否太混乱?我应该使用 cookiecutter 工具创建一个新项目吗?不太确定如何解决这个问题,因此我们将不胜感激任何帮助,
谢谢
命令:
cookiecutter https://github.com/pydanny/cookiecutter-django/
Run Code Online (Sandbox Code Playgroud)
将克隆最新版本cookiecutter-django,针对Django 1.9.
指向某些标签时有一个稳定部分README.其中一个是https://github.com/pydanny/cookiecutter-django/releases/tag/1.8.7.
但如果我尝试:
cookiecutter https://github.com/pydanny/cookiecutter-django/releases/tag/1.8.7
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
subprocess.CalledProcessError: Command '[u'git', u'clone', u'https://github.com/pydanny/cookiecutter-django/releases/tag/1.8.7']' returned non-zero exit status 128
Run Code Online (Sandbox Code Playgroud)
那么,如何指定cookiecutter使用那些稳定发布而不是master分支?
安装 Cookiecutter Django 后,我在正则表达式中看到波浪号 (~) 符号,但不知道 url 目的的含义。
它与正则表达式有关还是只是一种声明路径的方法?
./users/urls.py:
urlpatterns = [
...
url(
regex=r'^~redirect/$',
...
url(
regex=r'^~update/$',
...
]
Run Code Online (Sandbox Code Playgroud) 我已经按照此处列出的步骤使用 Django Cookiecutter 创建了一个项目: https: //cookiecutter-django.readthedocs.io/en/latest/developing-locally.html
(从项目生成的角度来看,我正在使用尽可能普通的设置——除了 Windows 的“y”和 Whitenoise 的“y”之外,所有问题都使用“否”;没有云提供商,使用 GitHub 作为 CI 工具) 。
当我在 VSCode 中打开项目并正确设置 dmypy.exe 的路径(如我的虚拟环境文件夹中所示)时,我收到 VSCode 引发的以下错误:
Mypy settings changed: c:\Users\MYUSERNAME\Development\Navigator\nav
[3] Check workspace: c:\Users\MYUSERNAME\Development\Navigator\nav
[3] Received python path from Python extension: c:\Users\MYUSERNAME\Development\Navigator\.venv\Scripts\python.exe
[3] Running dmypy in folder c:\Users\MYUSERNAME\Development\Navigator\nav
'c:\Users\MYUSERNAME\Development\Navigator\nav\..\.venv\scripts\dmypy.exe' --status-file 'c:\Users\MYUSERNAME\AppData\Roaming\Code\User\workspaceStorage\0e535676e284b08a0f096efc595261d2\matangover.mypy\dmypy-25dcc9f6aa1070ea6d08209fdd5961c72b27b416.json' run --log-file 'c:\Users\MYUSERNAME\AppData\Roaming\Code\User\workspaceStorage\0e535676e284b08a0f096efc595261d2\matangover.mypy\dmypy-25dcc9f6aa1070ea6d08209fdd5961c72b27b416.log' -- . --show-column-numbers --no-error-summary --no-pretty --no-color-output --python-executable 'c:\Users\MYUSERNAME\Development\Navigator\.venv\Scripts\python.exe'
[3] stdout:
Daemon started
Restarting: configuration changed
Daemon stopped
Daemon started
[3] stderr:
Response: {'restart': 'configuration changed', 'platform': 'win32', 'python_version': '3_9', …Run Code Online (Sandbox Code Playgroud) 在简短的语法中,source:target:mode官方文档只提到了roand ,rw但在django 的 cookiecutter 模板中,他们使用了其他两种模式:zand Z,我在任何地方都没有找到它们的任何参考,它们是什么?
我从未在本地计算机上使用docker进行开发,因此我遇到了一些在文档中找不到的问题。
安装完成后,我不知道如何通过pip安装软件包。我尝试过:
docker-compose -f local.yml run --rm django pip install some-package。它在某个地方安装了软件包,但没有在项目中安装。添加新软件包时是否需要每次构建?
如何在另一个不方便的线程docker-compose -f local.yml run --rm django python manage.py mycommand停止runserver命令中运行django管理命令
我在哪里可以看到芹菜任务日志?如何运行:
celery -A apps.taskapp worker -l info
celery -A apps.taskapp beat -l INFO
查看任务的调试消息
我第一次尝试 Django。阅读“ Django 1.11 的两勺”一书。很棒的阅读。由于只有脚本编写经验和 Python 新手,我正在尽最大努力遵循书籍标准。
用“ cookiecutter-django ”启动了一个带有 TimeStampedModel 的简单地址应用程序进行实验。
与 makemigrations、migrate、admin 和 runserver 配合使用效果很好。没有问题,它就像一个魅力。
然而,在 csv 导入和绑定到表单上尝试书籍示例时,我想从 shell 运行它进行测试。
以下内容可能过于冗长,但我不确定如何继续。
python manage.py shell --settings=config.settings.local
导入所需代码时发生错误(任何其他表单或模型都会获得相同的结果):
In [1]: from address.forms import add_csv_postarea
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
<ipython-input-1-f253686866ed> in <module>()
----> 1 from address.forms import add_csv_postarea
~/projects/myproject/myproject/address/forms.py in <module>()
5 from django import forms
6
----> 7 from .models import PostArea, Address
8
9
~/projects/myproject/myproject/address/models.py in <module>()
7
8
----> 9 class Country(TimeStampedModel):
10 """ …Run Code Online (Sandbox Code Playgroud) 我开始使用 cookiecutter-django,因为它似乎比 django-admin 更先进来启动我的项目。所以我创建了一个电子商务网站,它只需要电子邮件即可登录,而不需要用户名。
因此,我尝试按照文档并像这样更改我的 settings.py:
ACCOUNT_USER_MODEL_USERNAME_FIELD = None
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
AUTH_USER_MODEL = 'accounts.User'
LOGIN_REDIRECT_URL = 'users:redirect'
LOGIN_URL = 'account_login'
Run Code Online (Sandbox Code Playgroud)
这是我的帐户。用户模型:
from django.db import models
from django.contrib.auth.models import (
AbstractBaseUser, BaseUserManager
)
class UserManager(BaseUserManager):
def create_user(self, email, full_name, password=None, is_active=True, is_staff=False, is_admin=False):
if not email:
raise ValueError("Users must have an email address")
if not password:
raise ValueError("Users must have a password")
if not full_name:
raise ValueError("Users must have a fullname") …Run Code Online (Sandbox Code Playgroud) 所以我使用cookiecutter-django,它有django-allauth用于用户注册和django-anymail作为发送电子邮件的后端。我想自定义当用户注册或忘记密码时发送给他们的电子邮件。我似乎无法在我的 cookiecutter-django 项目中找到代码,它似乎是从我的应用程序外部的模板(可能在任何邮件模块中)完成的,所以我不知道应该在哪里或如何编写自定义电子邮件信息。另外,由于注册模板在我的项目中没有视图,因此我无法通过调试器找到方法。这是调用注册模板的 URL 代码:
<li class="nav-item mx-md-3">
<a id="sign-up-link" class="nav-link" href="{% url 'account_signup' %}"><i class="fa fa-user-plus"></i> {% trans "Sign Up" %}</a>
</li>
Run Code Online (Sandbox Code Playgroud)
这是我的项目中的 URL 配置:
# User management
url(r'^users/', include('solucionesverdesweb.users.urls', namespace='users')),
url(r'^accounts/', include('allauth.urls')),
Run Code Online (Sandbox Code Playgroud)