У меня есть приложение графического интерфейса для ПК, и я пытаюсь дублировать ту же функциональность в браузерном решении с использованием django. На ПК у меня есть флажок, который включает дополнительные функции для пользователя. Все, что мне нужно сделать, это вернуть значение (True или False), когда флажок установлен, и это изменит логику в модуле представлений.
Я установил флажок как:
<form method='post'>
<input type="checkbox" name="use_stages" value="use_stages">Use stages
</form>
В браузере появляется флажок, но он не позволяет мне его проверить.
Я смотрел на формы django, но для такого простого требования это кажется излишним. Должен ли я идти по этому маршруту?
Я не привязан к флажку. Может быть, кнопка будет делать с переключением текста, когда пользователь нажимает на него.
Кто-нибудь может подсказать, как мне поступить отсюда?
Вот код для шаблона:
from django.shortcuts import render
def home(request):
"""Home page."""
context = {}
url = 'boards/home.html'
return render(request, url, context)
Решение
Чтобы усилить ответ sandeep ниже, теперь это код в моем шаблоне:
<form method='post'>
{% csrf_token %}
<input type="checkbox" name="use_stages" {% if use_stages %} checked="checked"{% endif %} value= "1">Use stages
<input type="submit" value="submit">
</form>
, и это в представлениях:
def my_url(request):
context = <get context dict from somewhere>
if request.method == 'POST':
use_stages = request.POST.get('use_stages', 0)
context['use_stages'] = use_stages == '1'
url = 'boards/main_screen.html'
return render(request, url, context)