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

Вернуться на верх