Уведомления

Группа в Telegram: @pythonsu

#1 Март 3, 2007 18:10:31

alafin
Root
От: Киев, Украина
Зарегистрирован: 2006-04-06
Сообщения: 756
Репутация: +  3  -
Профиль   Отправить e-mail  

Перенаправление на новости

Имеется views

def news(request, language, year, month, day, slugefield):
if language.startswith('ru'):
cat = catr
slogan = sloganr
comments = ‘Комментарии: ’
else:
cat = cate
slogan = slogane
comments = ‘Comments: ’
cur = ‘'
acc = Accaunt.objects.all().filter(lang__lang__exact=language)
menu = Menu.objects.all().filter(lang__lang__exact=language)
articles = Categories.objects.all().filter(lang__lang__exact=language)
ex = Exception.objects.all().filter(lang__lang__exact=language).latest(’id')
news = News.objects.all().filter(lang__lang__exact=language).filter(slug__exact=slugefield).latest('id')
t = loader.get_template('news.html')
c = Context({
‘ex’: ex,
‘menu’: menu,
‘news’: news,
‘cur’: cur,
‘cat’: cat,
‘articles’: articles,
‘acc’: acc,
‘lang’:language,
‘slogan’: slogan,
‘comments’: comments,
})
return HttpResponse(t.render©)

и комменты к новостям

{% if display_form %}
<form action=“/comments/postfree/” method=“post”>
<p><label for=“id_person_name”>Name:</label> <input type=“text” id=“id_person_name” name=“person_name” />
</p>
<p><label for=“id_comment”>Body:</label> <textarea name=“comment” id=“id_comment” rows=“10” cols=“60”></textarea></p>
<input type=“hidden” name=“options” value=“{{ options }}” />
<input type=“hidden” name=“target” value=“{{ target }}” />
<input type=“hidden” name=“gonzo” value=“{{ hash }}” />
<p>
<div align=“center”>
<input type=“submit” name=“post” value=“Submit” /></p>
</div>
</form>
{% endif %}

которые добавляются и затем их нужно переправить обратно на новости, но уже с добавленными комментариям. Как это можно реализовать?



Офлайн

#2 Март 3, 2007 18:45:05

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Перенаправление на новости

В вьюшке, осблуживающей урл ‘/comments/postfree/’ после сохранения объекта комментария сделаешь

from django import http
from django.core.urlresolvers import reverse

http.HttpResponseRedirect(reverse('yourproject.path.to.view.news', args=(language, year, month, day, slugefield)))


hint: перечитай http://softwaremaniacs.org/blog/2006/08/04/url-reverse/ и замени в шаблоне

&lt;form action="/comments/postfree/" method="post"&gt;
на
&lt;form action="{% url path.to.comments.views.postfree %}" method="post"&gt;
P.S. опять форумный движок рендерит html

P.P.S. а еще комменты можно сделать на AJAX, без редиректа



Отредактировано (Март 3, 2007 18:46:41)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version