Кнопка Python / Django для перенаправления пользователя в зависимости от реального сайта - PullRequest
0 голосов
/ 21 апреля 2020

Я искал лучшую идею для четкой реализации кнопки, которая перенаправляет пользователя на страницу создания поста в зависимости от текущего URL, но у меня все еще нет хорошего решения. У меня есть 1 такой же шаблон для 3 страниц. Каждая страница имеет 10 категорий (подстраниц). Может быть пример: urls.py:

    app_name = 'forum'
    1 category path('category1/, View.as_view(), name = category1
    2 category path('category2/, View.as_view(), name = category2
    1 category post creation path('category1/create-post/', 
PostCreateView.as_view(my_id=11), name = category1-new-post
    2 category post creation path('category2/create-post/', 
PostCreateView.as_view(my_id=12), name = category2-new-post

Если пользователь находится на первой подстранице / категории и нажимает кнопку, то перенаправьте его на {% url 'forum: category1-new-post'%} Если пользователь находится на второй подстранице / категории и нажимает кнопку, затем перенаправляет его на форум {% url ': category2-new-post'%} и т. д. c 28x раз (3 страницы x 10 категорий)

Я пытался написать что-то вроде этого:

{% if request.resolver_match.url_name == 'category1' %}
button with href '{% url 'forum:category1-new-post' %}'
{% elif request.resolver_match.url_name == 'category2' %}
button with href '{% url 'forum:category2-new-post' %}' 

и др. c 28 раз. Код выше не кажется хорошим. Написание 30 ifs не лучшая идея, и я не знаю, как справиться с этим. Для каждой публикации пост-страницы / категории у меня есть один и тот же CreateView с другим идентификатором (идентификатор пересылается мной в параметре в urls.py - my_id). Мне интересно, что является лучшим решением для выполнения этих условий в шаблонах и как насчет URL. Это способ не создавать 30-кратные URL-адреса для post_creation для каждой страницы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...