Konstantin18ko
@Konstantin18ko
Стоматолог

Указываю один view для url, а отрабатывает другой?

urls.py
from django.conf.urls import url
from staff import views

urlpatterns = [
    url(r'^$', views.index, name='staff'),
    url(r'(?P<username>[-\w]+)/$', views.user, name='user'),
    url(r'(?P<username>[-\w]+)/logout/$', views.logout, name='user_logout'),
]


views.py
def user(request, username):
    print('user')
    return render(request, 'staff/index.html', locals())


def logout(request, username):
    print('test')
    auth.logout(request)
    username = None
    print('test')
    return redirect('staff/index.html', locals())


index.html
<a href="{% url 'user_logout' user %}" class="btn btn-sm btn-danger ion-log-out">Выход</a>


При нажатии на ссылку отрабатывает view.index, а не view.loguot.
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
@Animkim
Питон вокруг меня
Регулярка для views.user написана так что под неё подходит ваш url для views.logout
можете наглядно посмотреть вот тут https://regex101.com/
Отметьте решением пожалуйста.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы