Язык шаблонов Django не отображается - PullRequest
0 голосов
/ 10 марта 2019

Я новичок в Django и следую инструкциям. Я надеюсь, что это просто очевидная ошибка, но я не могу заставить свой веб-браузер отображать что-либо написанное на языке шаблонов Django, и я не могу понять, почему.

Вот моя структура каталогов для некоторого контекста: https://imgur.com/dGNIiDa

проект / urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('budget/', include('budget.urls')),
    path('admin/', admin.site.urls)
]

Бюджет / urls.py:

from django.urls import path

from . import views

urlpatterns = [
    path('<int:account_id>/', views.get_account, name='detail'),
]

Бюджет / views.py:

from django.shortcuts import render
from django.http import HttpResponse
from budget.models import Account, Transaction

def get_account(request, account_id):
    accts = Account.objects.filter(pk=account_id)

    context = {"test": accts}

    return render(request, 'budget/detail.html', context)

Бюджет / шаблоны / бюджет / detail.html:

<p>This is a {{ context.test }}</p>

Когда я захожу на localhost:8000/budget/1 в моем браузере, это все, что отображается: https://imgur.com/j2Vh0yb

Очевидно, что Django находит файл шаблона и отправляет его в браузер, но все, что написано внутри {}, вообще не распознается и не обрабатывается. Я точно следовал этому уроку и понятия не имею, почему он не работает. Есть идеи?

1 Ответ

1 голос
/ 10 марта 2019

Вам не нужно context в выражении в шаблоне;все, что вы помещаете в контекст, это «глобальные переменные» в шаблоне, поэтому попробуйте вместо этого

<p>This is a {{ test }}</p>

.

У движка шаблонов Django есть прискорбное свойство молчать о несуществующих свойствах, поэтомутрудно отлаживать такие вещи, как это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...