#python #django #raspberry-pi
#python #django #raspberry-pi
Вопрос:
Мое намерение состоит в том, чтобы перейти от представления интерфейса -> переключить представление для обработки некоторых данных и отправки этих данных и перейти к -> тестовому представлению для отображения результата. Однако, похоже, что ничто в представлении switch не обрабатывается, и представление switch не меняется на тестовое представление после того, как я нажал «отправить» на userInterface.html. Я предполагаю, что проблема заключается в функции HttpResponseRedirect () или во всем, что связано с URL-путями. Все сработало с моим другим проектом, над которым я работал на своем компьютере. Я не уверен, что мне нужно изменить, чтобы использовать Django в RaspberryPi.
Сначала я обнаружил, что не импортировал библиотеки, необходимые для этих функций. После того, как я их импортировал, код все еще не работал.
Я закомментировал другие коды в представлении switch, которые ничего не делают с изменением представлений и просто фокусируются на изменении представления в моем представлении switch.
view.py
def user_interface(request):
return render(request,'zuumcoin/userInterface.html',
{})
def switch(request):
return HttpResponseRedirect(reverse('zuumcoin:test'))
def test(request):
return render(request,'zuumcoin/test.html',{})
userInterface.html
....
<form action="{% url 'zuumcoin:swicht' %} method = "POST">
{% csrf_token %}
...
...
</form>
urls.py
app_name='zuumcoin'
urlpatterns = [
url(r'', views.user_interface, name='interface'),
url(r'switch/', views.switch, name='switch'),
url(r'test/', views.test, name='test')
]
Я ожидаю, что HttpResponseRedirect направит меня к тестовому представлению вместо того, чтобы застревать в переключаемом представлении. Если это возможно, я думаю, что смогу найти способ запустить другую часть моего кода в моем представлении switch.
Ответ №1:
Вы не завершили свои регулярные выражения. Итак, первый шаблон соответствует каждому пути.
Вы должны сделать:
url(r'^$', views.user_interface...)
Комментарии:
1. Не забудьте принять ответ, как знак будущим поисковикам, что он решил вашу проблему.
Ответ №2:
Кажется, у вас опечатка в вашем userInterface.html
шаблоне. измените это:
{% url 'zuumcoin:swicht' %}
к этому:
{% url 'zuumcoin:switch' %}
Комментарии:
1. Спасибо. На самом деле это была просто опечатка, когда я копировал код :))