添加auth
应用程序(django.contrib.auth.urls
)的身份验证URL时,我有一个问题。
我应该在哪里添加模板? ({login.html
等)
我已经看到它们添加到项目的templates
文件夹中:
project > templates > registration > login.html ...
我还看到他们在名为registration
的应用程序中做到了:
|-- project
|-- registration
|-- templates
| |-- registration
| |-- login.html
| ....
|
|-- __init__.py
|-- admin.py
.....
但是这个名字并不能说服我,我还看到他们在名为users
和accounts
的应用程序中做到了
我应该在哪个应用程序中进行操作? (accounts
,users
,registration
)
哪个是最佳实践?
我还想评论一下我正在创建一个自定义用户模型,我认为它应该在这些应用程序之一中使用对吗?根据应用程序的名称,这将是最合乎逻辑的。
答案 0 :(得分:0)
如果要创建自定义用户应用程序,则可以将帐户模板放在project / your_user_app / templates / registration中。在这种情况下,your_user_app必须位于settings.py中INSTALLED_APPS的顶部。
在settings.py
INSTALLED_APPS = [
'your_user_app',
'django.contrib.admin',
'django.contrib.auth',
...
...
]
AUTH_USER_MODEL = 'your_user_app.your_custom_user_model'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
...
},
]
或者您可以将帐户模板放在项目/模板/注册中,然后在settings.py中编辑DIRS:
TEMPLATES = [
{
...
'DIRS': [
os.path.join(BASE_DIR, 'templates')
],
...
},
]
如果您没有自定义用户应用,而只想自定义模板,那么第二个选项也可以使用。