Найти - Пользователи
Полная версия: Django Templates Language и БД
Начало » Django » Django Templates Language и БД
1
Architecture
Нужна помощь. Я новичок. Бьюсь над этой задачей уже почти два дня, перерыл кучу форумов и близок к нервному срыву.

Нужно вывести на страницу данные из базы данных (sqlite). Есть таблица Update с полем word. Страниться html успешно рендериться, но переменной {{word}} там нет, просто ‘Слово:’ и чистая белая страница.

———————
# models.py

from django.db import models

class Update(models.Model):
class Meta():
db_table=“Update”
word = models.CharField(max_length=25, blank='False')
———————

#urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns('',

url(r'^admin/', include(admin.site.urls)),
url(r'^$', ‘paragraph.views.home’, name='home'),
)

———————

#views.py

from django.shortcuts import get_object_or_404, render_to_response
from django.template import RequestContext
from paragraph.models import Update

def home(request):
args = {}
return render_to_response('main.html', args)


def to_html(request, *args, **kwargs):

upd = get_object_or_404(Update)

vars = dict(
word=upd.word,
)

return render_to_response('main.html', vars, context_instance=RequestContext(request))


———————

<!–main.html–>
<!DOCTYPE html>
<html>
<head lang=“en”>
<meta charset=“UTF-8”>
<title></title>
</head>
<body>
{% block content %}
Слово: {{ word }}
{% endblock %}
</body>
</html>
JOHN_16
Architecture
перерыли кучу форумов и не заметили что код надо оформлять в соответствующие теги ?

А вы посмотрите на содержание вашего url.py и на ту функцию представления которая соответствует вызову главной страницы. Поясню, вызывается функция home, которая просто ренерит шаблон не подставляя туда никаких данных. Функция to_home не выполняется.
Architecture
JOHN_16
Функция to_home не выполняется.

Спасибо, исправил. Теперь во вьюшке
def home(request):
    upd = Update.objects.all()
    context = {'upd':upd}
    return render(request, 'main.html', context)

Рендериться страница с таким содержанием:
Слово:  [<Update: Update object>] 
balalay12
Вы взяли все слова из базы и хотите вывести их в одном поле “слово”…?

https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#std:templatetag-for
Architecture
balalay12
Вы взяли все слова из базы и хотите вывести их в одном поле “слово”…?https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#std:templatetag-for

В базе данных одно слово, я упростил специально
JOHN_16
Architecture
а вы глазами широко смотрите - вам же указано что в переменной СПИСОК, а не объект модели.
.all() всегда возращает список.
Используйте цикл for в шаблнах, пуска даже объект там один. Это нормальная практика.

Вы книжки читаете хоть какие нибудь? Какие? Сколкьо материала пройдено?
Architecture
JOHN_16
Вы книжки читаете хоть какие нибудь? Какие? Сколкьо материала пройдено?
Документацию читаю, прервался - решил своё что-то попробовать запилить, но видимо рано. Ладно, спасибо за помощь.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB