есть проблема, я новичок в django, и есть проблема, которую я не могу понять,
есть вид:
def article(request, article_id = 1, comments_page_number = 1):
all_comments = Comments.objects.filter(comments_article_id = article_id)
paginator = Paginator(all_comments, 2)
comment_form = CommentForm
args = {}
args.update(csrf(request))
args['article'] = Article.objects.get(id = article_id)
args['comments'] = paginator.page(comments_page_number)
args['form'] = comment_form
args['username'] = auth.get_user(request).username
return render_to_response('article.html', args)
есть шаблон article.html
{% extends 'main.html' %}
{% block article %}
<h4>{{article.article_date}}</h4>
<h2>{{article.article_title}}</h2>
<p> {{article.article_body}}</p>
<hr>
<div class="large-offset-1 large-8 columns">
<p>Комментарии: </p>
{% for comment in comments %}
<p>{{comment.comments_text}}</p>
<hr>
{% endfor %}
{% if username %}
<form action="/articles/addcomment/{{article.id}}/" method="POST" >
{% csrf_token %}
{{form }}
<input type="submit" class="button" value="Add comment">
</form>
{% endif %}
</div>
<div class="row">
<div class="large-3 large-offset-5 columns">
<ul class="pagination">
{% if comments.has_previous %}
<li class="arrow"><a href="/articles/get/{{article.id}}/comments/{{ comments.previous_page_number }}">«</a></li>
{% else %}
<li class="arrow unavailable"><a href="">«</a></li>
{% endif %}
{% for page in comments.paginator.page_range %}
{% if page == comments.number %}
<li class="current"><a href="/articles/get/{{article.id}}/comments/{{ page }}/">{{ page }}</a></li>
{% else %}
<li><a href="/articles/get/{{article.id}}/comments/{{ page }}/">{{ page }}</a></li>
{% endif %}
{% endfor %}
{% if comments.has_next %}
<li class="arrow"><a href="/articles/get/{{article.id}}/comments/{{ comments.next_page_number }}/">»</a></li>
{% else %}
<li class="arrow unavailable"><a href="">»</a></li>
{% endif %}
</ul>
</div>
</div>
{% endblock %}
это моя статья/urls.py
urlpatterns = patterns('',
url(r'^articles/get/(?P<article_id>\d+)/$','article.views.article'),
url(r'^articles/get/(?P<article_id>\d+)/comments/(\d+)/$', 'article.views.article'),
)
после этого на моей странице статьи появилась нумерация страниц, но когда я нажимаю, например, на вторую страницу, она просто меняет мой URL, но новые комментарии не появляются, только старые.
Что я должен сделать, чтобы сделать это правильно? Большое спасибо!
{% url %}
? .) - person yedpodtrzitko   schedule 03.06.2014comments_page_number
в функции, чтобы увидеть, что это не всегда1
. Если это так, назовите свой второй параметр в маршруте URL-адреса, чтобы он соответствовал имени этой переменной. - person yedpodtrzitko   schedule 03.06.2014{% url %}
: вы можете использовать его вместо создания URL-адресов вручную в шаблоне (см. документы docs.djangoproject.com/en/dev/ref/templates/builtins/#url ). Это поможет вам, например. если вы измените структуру своих URL-адресов вurls.py
, это не нарушит ваши ссылки в шаблонах. - person yedpodtrzitko   schedule 03.06.2014