在我的settings.py中,我定义了一个非空的SITE_NAME:
SITE_NAME = 'Pets Gallery'
在我的views.py中,我有:
def all_pets(request):
pets = models.Pet.objects.all()
random.shuffle(pets)
return render(request, 'multiple_pets.html', {
'pets': pets,
'site_name': settings.SITE_NAME,
'page_name': 'All the pets we have!'})
在当前版本的模板中,基本模板具有:
<title>{{ page_name }} - {{ site_name }}</title>
...
<h1>{{ page_name }}</h1>
特定模板只是扩展基类的存根;我想定制它,但我现在正在进行烟雾测试。
呈现的页面似乎将所有值视为空。呈现的HTML源包含:
<title> - </title>
...
<h1></h1>
为什么将变量(目前,非空字符串)视为空,不可用等?
- UPDATE -
评论者在TEMPLATES
询问了我的settings.py
。我意识到我没有包含目录;我把它改为包括:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR, 'pets/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',
],
},
},
]
WSGI_APPLICATION = 'pets.wsgi.application'
这解决了我没有登录屏幕的直接问题。现在我可以进入登录界面。然而,这个出土的其他问题,我认为最好在另一个问题上输入。