所以我将注册模板的名称从user_form.html更改为register.html。我也在urls.py文件中更改了它以反映新名称,但是当我尝试转到注册页面时,我得到以下内容:
Exception Type: TemplateDoesNotExist
Exception Value:web/user_form.html
Template-loader postmortem
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
Using loader django.template.loaders.app_directories.Loader:
../swl/root/lib/pythpy2.7.egg/django/contrib/admin/templates/web/user_form.html (File does not exist)
../django/contrib/auth/templates/web/user_form.html (File does not exist)
../templates/web/user_form.html (File does not exist)
..tastypie/templates/web/user_form.html (File does not exist)
../bootstrap3/templates/web/user_form.html (File does not exist)
../web/templates/web/user_form.html (File does not exist)
为什么模板加载器仍在寻找旧的文件名?
编辑:这是我注册的网址:
url(r'register/?$',
UserCreate.as_view(),
{
'template_name':'accounts/register.html'
},
name = 'register'),
答案 0 :(得分:0)
尝试将所有文件中的所有user_form.html
替换为registration.html
。您可以使用文本编辑器或IDE的Find/replace in files
功能(或类似功能)。
将url
更改为:
url(r'register/?$',
UserCreate.as_view(template_name='accounts/register.html'),
name = 'register')
答案 1 :(得分:0)
当没有显式声明名称时,基于类的视图将尝试使用默认模板名称。 (CreateView使用(appname)/(model)_form.html)您的选择是:
在视图代码中指定模板名称,如下所示:
类UserCreate(CreateView):
template_name = "accounts/register.html"
希望这有帮助
答案 2 :(得分:0)
重新启动apache服务器。 对于Ubuntu服务器20:
/etc/init.d/apache2 restart