我知道我搞错了因为google没有返回任何结果。我对计算机知之甚少,但0x00000blah
看起来像是一些内存地址。经过几次刷新后,这个数字就会改变。
环境 Django 1.8,Python 3.4,chrome,Win7
预期行为
我想转到../accounts/login/
也知道我的网址url(r'^login/$', 'django.contrib.auth.views.login', name='loginHandle')
输入用户名,密码,如果已注册,则重定向到../accounts/profile
,它应该在哪里呈现模板profile.html说Hello {{ username }} !
之类的东西。 INSTEAD我得到这个错误
/ accounts / profile /
上的TemplateDoesNotExistdjango.template.backends.django.Template对象位于0x0000000004D0E400
views.py
def profile(request):
profileTemplate = loader.get_template('registration/profile.html')
return render(request, profileTemplate, {
'Kitty': 10,
})
回溯
Using loader django.template.loaders.filesystem.Loader:
D:\users\kitty\python\firstdjangosite\templates\<django.template.backends.django.Template object at 0x0000000004D0E400> (File does not exist)
Using loader django.template.loaders.app_directories.Loader:
D:\Users\kitty\Python\lib\site-packages\django\contrib\admin\templates\<django.template.backends.django.Template object at 0x0000000004D0E400> (File does not exist)
D:\Users\kitty\Python\lib\site-packages\django\contrib\auth\templates\<django.template.backends.django.Template object at 0x0000000004D0E400> (File does not exist)
D:\users\kitty\python\firstdjangosite\polls\templates\<django.template.backends.django.Template object at 0x0000000004D0E400> (File does not exist)
D:\users\kitty\python\firstdjangosite\login\templates\<django.template.backends.django.Template object at 0x0000000004D0E400> (File does not exist)
D:\users\kitty\python\firstdjangosite\accounts\templates\<django.template.backends.django.Template object at 0x0000000004D0E400> (File does not exist)
路径详情
D:\Users\Kitty\Python\FirstDjangoSite\accounts\templates>dir /s /b /o:gn
accounts
registration
accounts\index.html
accounts\invalid.html
accounts\loggedin.html
accounts\logout.html
registration\login.html
registration\profile.html
我以前做过装载机和渲染,它们工作正常。例如,如果我将profileTemplate更改为不存在的&#39; registration / helloworld.html&#39;它说
/ accounts / profile /
上的TemplateDoesNotExist登记/的helloworld.html
感谢您的时间,请帮助我感到困惑
答案 0 :(得分:3)
render
快捷方式采用模板名称。
def profile(request):
return render(request, 'registration/profile.html', {
'Kitty': 10,
})
令人惊讶的错误消息是因为您已传递加载的模板而不是模板名称。 django.template.backends.django.Template object at 0x0000000004D0E400
是repr()
的{{1}}。