0
0 комментариев

Есть urls.py,

urlpatterns = [
...,
url(r'^reviews/', views.reviews),
url(r'^reviews/page(?P<page>\d+)/$', views.reviews),
]

И есть view.py

def reviews(request, page):
    ...

Apache почему то выдает ошибку:

reviews() missing 1 required positional argument: 'page',

но аргумент присутствует во view.py.

Если в url.py изменить

url(r'^reviews/page(?P<page>\d+)/$', views.reviews),

на

url(r'^reviews/page(?P<page_1>\d+)/$', views.reviews),

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

reviews() missing 1 required positional argument: 'page_1'

Если в view.py добавить значение по умолчанию

def reviews(request, page=1):
    ...

То, ошибка исчезает, но вне зависимости от url, page будет всегда равен значению по умолчанию.

Кто-нибудь может обьяснить, что происходит? django 1.9, apache 2.4.


Добавить комментарий