Форум сайта python.su
Нужна помощь. Я новичок. Бьюсь над этой задачей уже почти два дня, перерыл кучу форумов и близок к нервному срыву.
Нужно вывести на страницу данные из базы данных (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>
Офлайн
Architecture
перерыли кучу форумов и не заметили что код надо оформлять в соответствующие теги ?
А вы посмотрите на содержание вашего url.py и на ту функцию представления которая соответствует вызову главной страницы. Поясню, вызывается функция home, которая просто ренерит шаблон не подставляя туда никаких данных. Функция to_home не выполняется.
Офлайн
JOHN_16
Функция to_home не выполняется.
def home(request): upd = Update.objects.all() context = {'upd':upd} return render(request, 'main.html', context)
Слово: [<Update: Update object>]
Отредактировано Architecture (Окт. 23, 2015 20:58:57)
Офлайн
Вы взяли все слова из базы и хотите вывести их в одном поле “слово”…?
https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#std:templatetag-for
Офлайн
balalay12
Вы взяли все слова из базы и хотите вывести их в одном поле “слово”…?https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#std:templatetag-for
Офлайн
Architecture
а вы глазами широко смотрите - вам же указано что в переменной СПИСОК, а не объект модели.
.all() всегда возращает список.
Используйте цикл for в шаблнах, пуска даже объект там один. Это нормальная практика.
Вы книжки читаете хоть какие нибудь? Какие? Сколкьо материала пройдено?
Офлайн
JOHN_16Документацию читаю, прервался - решил своё что-то попробовать запилить, но видимо рано. Ладно, спасибо за помощь.
Вы книжки читаете хоть какие нибудь? Какие? Сколкьо материала пройдено?
Офлайн