ims*_*ful 3 python django django-templates django-views python-3.x
我正在关注此博客以重置Django中的用户密码。运行良好。但是问题是我想在重置密码或确认邮件时显示模板而不是Django管理面板。我该如何实现?
这是我的urls.py文件
url(r'^password_reset/$', password_reset , name='password_reset_reset1'),
url(r'^password_reset/done/$', password_reset_done, name='password_reset_done'),
url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
password_reset_confirm, name='password_reset_confirm'),
url(r'^reset/done/$', password_reset_complete, name='password_reset_complete'),
Run Code Online (Sandbox Code Playgroud)
对于模板和视图,我需要采取什么步骤>我已经尝试了很多,并添加了一些文件,例如:
registration/password_reset_form.html
registration/password_reset_subject.txt
registration/password_reset_email.html
registration/password_reset_done.html
registration/password_reset_confirm.html
registration/password_reset_complete.html
Run Code Online (Sandbox Code Playgroud)
但是没有效果>我只想在重置密码时呈现我的网站模板。
这是我的目录结构:
url(r'^password_reset/$', password_reset , name='password_reset_reset1'),
url(r'^password_reset/done/$', password_reset_done, name='password_reset_done'),
url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
password_reset_confirm, name='password_reset_confirm'),
url(r'^reset/done/$', password_reset_complete, name='password_reset_complete'),
Run Code Online (Sandbox Code Playgroud)
谢谢!
小智 7
您还可以确保您的应用优先于INTALLED_APPS中的所有其他Django应用,例如
INSTALLED_APPS = [
'your_app_name',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.sites',
'django.contrib.staticfiles',
]
Run Code Online (Sandbox Code Playgroud)
用您的应用名称替换your_app_name
小智 5
在您的 settings.py 中,确保您的 TEMPLATES 设置等于以下内容
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},]
Run Code Online (Sandbox Code Playgroud)
这里最重要的部分是DIRS
进入Django admin注册目录
/home/username/Desktop/Project_folder/virtual_env_name/lib/python3.6/site-packages/django/contrib/admin/templates
Run Code Online (Sandbox Code Playgroud)
现在打开password_reset_form.html并替换
{% extends "admin/base_site.html" %}
Run Code Online (Sandbox Code Playgroud)
从模板中,您想要扩展。就我而言,我执行以下操作
{% extends "feed/base.html" %}
Run Code Online (Sandbox Code Playgroud)
feed:应用程序名称base.html:基础文件
| 归档时间: |
|
| 查看次数: |
1353 次 |
| 最近记录: |