Django Pass 值从下拉菜单中查看

Posted

技术标签:

【中文标题】Django Pass 值从下拉菜单中查看【英文标题】:Django Pass value from dropdown menu to view 【发布时间】:2021-10-15 17:21:08 【问题描述】:

我写了一个密码生成器,我希望用户可以自定义长度。如何将模板下拉菜单中的值传递给我的视图,以便创建正确长度的密码。

这是我现在的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)

【问题讨论】:

【参考方案1】:

views.py添加这个

length = int(request.GET.get('length')) # UPDATED to cast int

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

【讨论】:

这应该可以,如何将 String 类型从 length = request.GET.get('length') 转换为我的 int,出现此错误:TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType' 如果我尝试转换它for i in range(int(length)): 已修复!完全忘记了。我的错!现在它应该是完美无缺的。享受吧。 在***中,如果答案符合您的等待,那么您应该点击复选标记关闭线程 已经尝试过您的修复,但不起作用TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType' 不用担心,如果它有效,我会将其标记为已解决。 这是我编辑的代码hastebin.com/alopevehip.csharp

以上是关于Django Pass 值从下拉菜单中查看的主要内容,如果未能解决你的问题,请参考以下文章

Django Bootstrap 下拉菜单不起作用

删除已从另一个下拉菜单中选择的下拉值

Django admin 中的自定义相关下拉菜单

如何使用 Modelform 和 jquery 在 django 中获取相互依赖的下拉菜单?

如何在 django 中添加项目下拉菜单

下拉菜单不起作用 Django