Django Передача значения из выпадающего меню в представление
Я написал генератор паролей и хочу, чтобы пользователь мог настроить длину пароля. Как я могу передать значение из выпадающего меню в шаблоне в мои представления, чтобы я мог создать пароль нужной длины.
Вот мой views.py сейчас:
def view_passwordgenerator(request):
characters = list(string.ascii_letters + string.digits + "!@#$%^&*()")
random.shuffle(characters)
length = 10
password = []
for i in range(length):
password.append(random.choice(characters))
random.shuffle(password)
pw = ("".join(password))
context = {'password': pw, 'length': length}
return render(request, 'home/passwordgenerator.html', context)
В
views.py
добавьте этоlength = int(request.GET.get('length'))
В
html file
добавить следующее:<form action="{% url 'view_passwordgenerator' %}"> <select name="length"> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12" selected="selected">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> </select> Length <input type="submit" value="Generate Password" class="btn btn-primary"> </form>```
Удалить
length
из контекста
Для полного подробного примера посетите мой Django Password Generator Github Repo