gpt4 book ai didi

html - Django : HTML form action directing to view (or url? ) 有 2 个参数

转载 作者:行者123 更新时间:2023-12-04 16:30:54 24 4
gpt4 key购买 nike

大约一周前开始学习 django 并撞到了一堵墙。真的很感激任何启示......

模型.py

class data(models.Model):
course = models.CharField(max_length = 250)

def __str__(self):
return self.course

html

将 models.course 中的对象转换为 schlist
<link rel="stylesheet" type="text/css" href="{% static '/chosen/chosen.css' %}" />
<form action={% views.process %} method="GET">
<div>
<h4 style="font-family:verdana;">First Course: </h4>
<select data-placeholder="Course" style="width:350px;" class="chosen-select" tabindex="7">
<option value=""></option>
{% for item in schlist %}
<option> {{ item }} </option>
{% endfor %}
</select>
</div>
</br>
<div>
<h4 style="font-family:verdana;">Second Course:</h4>
<select data-placeholder="Course" style="width:350px;" class="chosen-select" tabindex="7">
<option value=""></option>
{% for item in schlist %}
<option> {{ item }} </option>
{% endfor %}
</select>
</div>
</br>
<input type="submit" value="Compare!" />
</form>

urls.py(我怀疑这是否有效..)
urlpatterns = [
url(r'^(\d+)/(\d+)$',views.process, name = 'process'),
]

查看.py
def process(request,q1 ,q2):
obj1= get_object_or_404(Schdata, course = q1)
obj2= get_object_or_404(Schdata, course = q2)
........

想知道表单操作是否可以将操作定向到

(1) view.py 或 (2) url.py(并最终到 view.py)选择了 2 个参数?

如果是这样,表单操作应该如何? {{view ?}} 或 {{url ?}}。我是否遗漏了 HTML 中参数的定义?

指向 views.py:

用户输入是 CharField , 可以使用 get_object_or_404得到模型pk。但是,在定义我的 urls.py 时,我会收到一个 Noreverse 错误,因为我的 url 参数是主键。

指向 urls.py:

Url 参数是主键。从我看来,我需要神奇地转换我的用户输入 Charfield在将它传递给 urls.py 之前到 pk
get() 是否有(或)函数在 Django 中?例如 get_object_or_404(pk = q1 or course = q1) ?

真的很感激任何建议。盯着这个看了几个小时。

最佳答案

您正在尝试在 Django 中使用反向解析 url。

在您的 html 文件中,正确的表单操作 url 以下和方法应该是 POST:

<form action={% url 'process' %}  method="POST">

如果您尝试传递参数,请使用以下命令:
<form action={% url 'process' request.user.id 4 %}  method="POST">

引用:
https://docs.djangoproject.com/en/1.10/topics/http/urls/

关于html - Django : HTML form action directing to view (or url? ) 有 2 个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42440962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com