我在django工作,想在views.py中传递值 我的代码是
模板
{% for doctor in doctor_list %}
{% if citysearch == doctor.city %}
<h1>Name of doctor is </h1>
<form class="form" method="POST">
{% csrf_token %}
<input type="submit", class="btn view", name="{{doctor.contactNumber}}" value="View Profile">
</form>
{% endif %}
{% endfor %}
视图
if request.method == 'POST':
selectdocnum = request.POST.get["doctor.contactNumber"]
print(selectdocnum)
return redirect('patientPannel')
这没有返回doctor.contactNumber的值,并且错误是方法对象不可下标
答案 0 :(得分:0)
doctor.contactNumber
是一个值,而不是用于查找值或用作输入字段名称的键。给输入字段一个更好的名称,然后改用它。您还使用了错误的输入类型,如果不希望对其进行编辑,请使用hidden
,如果可以,请使用text
之类的东西。
<input type="hidden" name="contactNumber" value="{{doctor.contactNumber}}">
request.POST.get("contactNumber")
答案 1 :(得分:0)
这是错误的
<input type="submit", class="btn view", name="{{doctor.contactNumber}}" value="View Profile">
我认为您必须这样做
{% for doctor in doctor_list %}
{% if citysearch == doctor.city %}
<h1>Name of doctor is </h1>
<form class="form" method="POST">
{% csrf_token %}
<input type="text" value="{{doctor.contactNumber}}" name="doctorcontactnumber">
<input type="submit" class="btn view" value="View Profile">
</form>
{% endif %}
{% endfor %}
您的观看次数
if request.method == 'POST':
selectdocnum = request.POST.get["doctorcontactnumber"]
print(selectdocnum)
return redirect('patientPannel')
答案 2 :(得分:0)
这很正常,request.POST.get
是一种方法。使用括号。正确的调用是:
selectdocnum = request.POST.get("doctorcontactnumber")
对于您的输入,您混杂了name
和value
。而是这样做:
<input type="hidden" name="doctorcontactnumber" value="{{doctor.contactNumber}}">
答案 3 :(得分:0)
<input type="submit", class="btn view", name="number" value="{{doctor.contactNumber}}">
if request.method == 'POST':
selectdocnum = request.POST.get("number")
print(selectdocnum)
return redirect('patientPannel')
代替价值,您必须使用{{doctor.contactNumber}},并且必须使用名称(request.POST.get(“数字”))获取数据,然后它将获取数据