Итак, я пытаюсь создать приложение для викторины с Django
. До сих пор у меня есть SQL
база данных, которая может автоматически заполнять шаблон с учетом идентификатора вопроса. Если я пойду к http://localhost:8000/polls/2/
, то у меня появится второй вопрос викторины.
Я пытаюсь создать кнопку, которая при нажатии приводит меня к случайному вопросу теста.
Внутри у меня есть следующие методы:
# myproject/polls/view.py
def get_question_page(request, question_id):
try:
question = Question.objects.get(id=question_id)
except Exception as e:
question = None
context = {'question': question}
return render(request, 'index.html', context)
def get_random_page(request):
n = Question.objects.count()
rand = random.randint(1, n)
return get_question_page(request, rand)
И следующие URL:
# myproject/polls/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^(?P<question_id>[0-9]+)/$', views.get_question_page, name='question'),
url(r'^rand/$', views.get_random_page, name='rand'),
url(r'^(?P<question_id>[0-9]+)/select/$', views.select, name='select'),
]
Я попытался использовать следующий код внутри myproject/polls/index.html
:
<!-- myproject/polls/index.html -->
<form action="{% url 'views.get_random_page' %}" method="POST">
<input id="submit"a type="button" value="Click" />
</form>
Но я получаю только:
NoReverseMatch at /polls/2/
Reverse for 'views.get_random_page' not found.
'views.get_random_page' is not a valid view function or pattern name.`
Может кто-нибудь объяснить, что идет не так и как это исправить?