Шаблоны Python - PullRequest
       14

Шаблоны Python

1 голос
/ 28 ноября 2011

Это мои views.py:

from django.http import HttpResponse
from django.template.loader import get_template
from django.template import Context
def login(request):
    t = get_template('login.html')
    return HttpResponse(t.render) 

В моем urls.py я положил

(r'^login/', include('project.views.login')),

чтобы показать мои шаблоны

Я установил каталог шаблонов в settings.py

Но я получил ошибку с именем

ImportError at /login/
No module named login

Что не так?

1 Ответ

3 голосов
/ 28 ноября 2011

include используется для включения других конфигов url из других приложений.Его не следует использовать, если вы пытаетесь добавить шаблон URL для одного конкретного представления.У вас должно быть что-то вроде

(r'^login/', 'project.views.login'),

Другая проблема заключается в том, где вы возвращаете свой ответ.render - это метод, который принимает контекст (см. документы )

def login(request):
    t = get_template('login.html')
    c = Context({})
    return HttpResponse(t.render(c)) 

На практике вы обычно не загружаете шаблон, не визуализируете его, а затем возвращаете ответ.Есть две быстрые функции, render и render_to_response, которые сокращают повторение.

Вы допустили несколько основных ошибок здесь.Я рекомендую вам изучить учебники по Django (опять же, если вы уже посмотрели их). В учебнике 3 , в частности, объясняются все эти вещи.

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