Сделал так:
views.py добавил методы
class ArticlesMain(ListView):
def get_context_data(self, **kwargs):
context = super(ArticlesMain, self).get_context_data(**kwargs)
try:
context['pn'] = self.kwargs["num_page"]
except KeyError:
context['pn'] = 1
return context
class ArticleFully(DetailView):
def get(self, request, *args, **kwargs):
self.pn = request.GET['num_page']
return super(ArticleFully, self).get(request, *args, **kwargs)
def get_context_data(self, **kwargs):
context = super(ArticleFully, self).get_context_data(**kwargs)
context['pn'] = self.pn
return context
urls.py:
urlpatterns = [
url(r'^page/(?P<num_page>\d+)/$', view.ArticlesMain.as_view(), name="articles_main"),
url(r'^$', view.ArticlesMain.as_view(), name="articles_main"),
url(r'^article/(?P<article_id>\d+)/$', view.ArticleFully.as_view(), name="article_fully"),
]
Шаблон списка статей:
{% block content %}
<p class="article_title"><a href="{% url "blog:article_fully" article.id %}?num_page={{ pn }}">{{ article.article_title }}</a></p>
...
{% endblock %}
Шаблон полной статьи:
{% block content %}
<div id="btn_back"><a href="{% url "blog:articles_main" pn %}">Назад</a></div>
...
{% endblock %}
Но я хотел бы чтобы в юрле не отображалось параметра GET запроса. Можно его либо как-то скрыть, либо другим способом передать pn?
Updated 20 Feb. 2016, 20:22 by Igor6556.