我正在使用Django 1.10。从技术上讲,这篇文章是关于Django-registration-redux的,但是我不会让我创建一个新的标签来发布问题。 Django-registration-redux没有看到注册模板。我将所有模板复制到名为" registration"的文件夹中。在我的模板文件夹里面。我虽然没有收到错误。例如,当我转到/ accounts / register时,它会渲染一些表单,但它不是我的templates / register文件夹中的那个。我不确定我做错了什么。我甚至完全删除了模板/注册文件夹,我甚至没有收到错误。我读了一些类似的帖子,人们不得不将注册移到已安装的应用程序的顶部,所以它不会使用我尝试过的管理表单,也没有帮助。到目前为止没有任何改变。所有模板都扩展了基础。
所以我猜我配置错了。这很奇怪。所有功能都在那里,但它只是没有使用我的模板。对不起,如果它是一个愚蠢的问题,但我会感谢一些帮助!
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
答案 0 :(得分:0)
在settings.py中,您必须将应用放在“注册”应用上方。似乎settings.py文件中列出的应用程序顺序决定了正在使用的模板。
答案 1 :(得分:0)
下次尝试在app templates文件夹中创建与您的应用名称相关的目录。例如,如果您有一个名为“register”的应用程序,请在应用程序的templates文件夹中调用“register”文件夹,然后将所有模板放入其中。这将阻止app templates文件夹和主项目模板文件夹中名为index.html的模板相互冲突。