Django-Registration-Redux 没有看到我的 templates/registration 模板
Django-Registration-Redux doesn't see my templates/registration templates
我正在使用 Django 1.10。从技术上讲,这个 post 与 Django-registration-redux 有关,但不会让我为 post 这个问题创建一个新标签。 Django-registration-redux 看不到注册模板。我将所有模板复制到模板文件夹内名为 "registration" 的文件夹中。不过我没有收到错误。例如,当我转到 /accounts/register 时,它会呈现某种形式,但它不是我的 templates/register 文件夹中的形式。我不确定我做错了什么。我什至完全删除了 templates/registration 文件夹,我什至没有收到错误。我读过一些类似的 posts,其中人们不得不将注册移动到已安装应用程序的顶部,这样它就不会使用我尝试过但没有帮助的管理表单。到目前为止,一切都没有改变。所有模板都扩展了基础。
所以我猜我配置有误。有点奇怪。所有功能都在那里,但它只是不使用我的模板。对不起,如果这是一个愚蠢的问题,但我将不胜感激!
pip freeze
Django==1.10
django-crispy-forms==1.6.0
django-registration-redux==1.4
INSTALLED_APPS = [
'registration',
'django.contrib.admin',
'django.contrib.sites',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# third party
'crispy_forms',
# my apps
'todo',
]
# Django registration redux settings
ACCOUNT_ACTIVATION_DAYS = 7
REGISTRATION_OPEN = True
REGISTRATION_AUTO_LOGIN = True
LOGIN_REDIRECT_URL = '/' # The page you want users to arrive at after they successful log in
LOGIN_URL = '/accounts/login/'
SITE_ID = 1
这是我的/templates/registration/registration_form.html
{% extends "base.html" %}
{% load i18n %}
{% load crispy_forms_tags %}
{% block content %}
<div class='row'>
<div class='col-sm-6 col-sm-offset-3'>
<h1>Register for free!</h1>
<form method="post" action=".">
{% csrf_token %}
{{ form|crispy }}
<input class='btn btn-block btn-primary' type="submit" value="{% trans 'Join' %}" />
</form>
</div>
</div>
<hr/>
<div class='row'>
<div class='col-sm-6 col-sm-offset-3 text-align-center'>
<p>Need to <a href="{% url 'auth_login' %}">Login</a>?</p>
</div>
</div>
{% endblock %}
this is a screenshot showing the form I see at accounts/register
在 settings.py 中,您必须将您的应用置于 'registration' 应用之上。 settings.py 文件中列出的应用程序的顺序似乎决定了正在使用的模板。
下次尝试在应用程序模板文件夹中创建一个与您的应用程序名称相关的目录。例如,如果您有一个名为 "register" 的应用程序,请调用应用程序模板文件夹中的文件夹 "register",然后将所有模板放在那里。这将防止应用程序模板文件夹和主项目模板文件夹中名为 index.html 的模板相互冲突。
我正在使用 Django 1.10。从技术上讲,这个 post 与 Django-registration-redux 有关,但不会让我为 post 这个问题创建一个新标签。 Django-registration-redux 看不到注册模板。我将所有模板复制到模板文件夹内名为 "registration" 的文件夹中。不过我没有收到错误。例如,当我转到 /accounts/register 时,它会呈现某种形式,但它不是我的 templates/register 文件夹中的形式。我不确定我做错了什么。我什至完全删除了 templates/registration 文件夹,我什至没有收到错误。我读过一些类似的 posts,其中人们不得不将注册移动到已安装应用程序的顶部,这样它就不会使用我尝试过但没有帮助的管理表单。到目前为止,一切都没有改变。所有模板都扩展了基础。
所以我猜我配置有误。有点奇怪。所有功能都在那里,但它只是不使用我的模板。对不起,如果这是一个愚蠢的问题,但我将不胜感激!
pip freeze
Django==1.10
django-crispy-forms==1.6.0
django-registration-redux==1.4
INSTALLED_APPS = [
'registration',
'django.contrib.admin',
'django.contrib.sites',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# third party
'crispy_forms',
# my apps
'todo',
]
# Django registration redux settings
ACCOUNT_ACTIVATION_DAYS = 7
REGISTRATION_OPEN = True
REGISTRATION_AUTO_LOGIN = True
LOGIN_REDIRECT_URL = '/' # The page you want users to arrive at after they successful log in
LOGIN_URL = '/accounts/login/'
SITE_ID = 1
这是我的/templates/registration/registration_form.html
{% extends "base.html" %}
{% load i18n %}
{% load crispy_forms_tags %}
{% block content %}
<div class='row'>
<div class='col-sm-6 col-sm-offset-3'>
<h1>Register for free!</h1>
<form method="post" action=".">
{% csrf_token %}
{{ form|crispy }}
<input class='btn btn-block btn-primary' type="submit" value="{% trans 'Join' %}" />
</form>
</div>
</div>
<hr/>
<div class='row'>
<div class='col-sm-6 col-sm-offset-3 text-align-center'>
<p>Need to <a href="{% url 'auth_login' %}">Login</a>?</p>
</div>
</div>
{% endblock %}
this is a screenshot showing the form I see at accounts/register
在 settings.py 中,您必须将您的应用置于 'registration' 应用之上。 settings.py 文件中列出的应用程序的顺序似乎决定了正在使用的模板。
下次尝试在应用程序模板文件夹中创建一个与您的应用程序名称相关的目录。例如,如果您有一个名为 "register" 的应用程序,请调用应用程序模板文件夹中的文件夹 "register",然后将所有模板放在那里。这将防止应用程序模板文件夹和主项目模板文件夹中名为 index.html 的模板相互冲突。