Я новичок в Джанго.Поэтому я искренне извиняюсь заранее, если мой вопрос пустышка.При этом я уже несколько дней безуспешно пытаюсь найти ответ в Интернете.
В двух словах, у меня есть форма, составленная из одного MultipleChoiceField .
Когда пользователь впервые подключается к веб-странице с помощью этой формы, он может установить соответствующие флажки, а затем нажать кнопку «Отправить».Пока мне удается это сделать.
Я застрял на том, как перенаправить пользователя на другую форму (всего будет 10 форм, пока он не достигнет «полной» веб-страницы).
Используя redirect , я знаю, как перенаправить пользователя на статическую веб-страницу, но я не мог понять, как перенаправить его на динамическую веб-страницу (т.е. основываясь на значениях переменных в моем представлении).
Ниже приведены сценарии, которые я написал, чтобы дать вам лучшее представление о том, чего я пытаюсь достичь:
[views.py]
def my_form(request, id):
form = MyForm(request.POST or None, form_id=id)
if form.is_valid():
# DO SOME CLEAN-UP...
form.id += 1
id += 1
return render(request, 'my_form.html', {'form': form, 'id': id})
[urls.py]
urlpatterns = [
...
] +
[url('my_form', views.my_form, {'id': 1}, name='my_form'))]
Как вы можете себе представить, моей целью было начать с идентификатора 1, а затем каждый раз, когда пользователь нажимает кнопку Отправить, он получаетперенаправляется на форму id + 1 до номера 10.
С помощью приведенного выше кода меня всегда перенаправляют на страницу с id = 1.
Должно быть что-то, чего я не понимал при использовании запроса, но я не могу понять, что.И многие вопросы, которые я выделил на этой доске и другие, не помогли.
Я был бы более чем рад узнать о том, где я ошибся, от тех из вас, у кого больше опыта в Джанго, чем у меня.
Заранее большое спасибо.Софи:)
[ПРАВИТЬ 06/10/2018]
Код теперь выглядит так:
[my_form.html]
<form action="{% url 'my_form' %}" method="post">
{% csrf_token %}
<table border="1">
{{ form.as_p }}
</table>
<input type="submit" value="Submit" class="btn btn-primary"/>
</form>
[urls.py]
urlpatterns = [
...
] +
[path('question/<int:id>/', views.my_form, name="my_form")]