Найти - Пользователи
Полная версия: Перенаправление на новости
Начало » Django » Перенаправление на новости
1
alafin
Имеется 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 %}

которые добавляются и затем их нужно переправить обратно на новости, но уже с добавленными комментариям. Как это можно реализовать?
j2a
В вьюшке, осблуживающей урл ‘/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, без редиректа
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