我有一个链接,当点击时,应该通过post请求提交一个包含不可见字段的表单。然后我应该能够得到字段值,比如:
var = request.POST.get('name_of_var', '')
在看了几篇文章之后,我似乎无法让这个工作。这就是我目前所拥有的:
<form id="form-id" method="post">
<li>
<input type="hidden" value="{{ obj }}" name="name_of_var">
<a href="/activities" onclick="document.getElementById('form-id').submit();"> {{obj}} </a>
</li>
</form>
在我看来,我有这样的想法,但POST请求从未被触发。有什么问题吗?以下内容:
if request.POST:
var = request.POST.get('name_of_var', '')
return render_to_response('activities/display_activities.html', var)
编辑:这里是我的视图.py:
def index(request):
if request.method == "POST":
var = request.POST.get('name_of_var', '')
return render_to_response('activities/display_activities.html', var)
category1 = Service.objects.filter(category = 'Sports')
category2 = Service.objects.filter(category = 'Dance')
category3 = Service.objects.filter(category = 'Music')
category4 = Service.objects.filter(category = 'Academics')
category5 = Service.objects.filter(category = 'Art')
category6 = Service.objects.filter(category = 'College')
subcat1 = []
subcat2 = []
subcat3 = []
subcat4 = []
subcat5 = []
subcat6 = []
for obj in category1:
subcat1.append(obj.subcategory)
subcat1 = list(set(subcat1))
for obj in category2:
subcat2.append(obj.subcategory)
subcat2 = list(set(subcat2))
for obj in category3:
subcat3.append(obj.subcategory)
subcat3 = list(set(subcat3))
for obj in category4:
subcat4.append(obj.subcategory)
subcat4 = list(set(subcat4))
for obj in category5:
subcat5.append(obj.subcategory)
subcat5 = list(set(subcat5))
for obj in category6:
subcat6.append(obj.subcategory)
subcat6 = list(set(subcat6))
return render_to_response('activities/activities.html', {'user': request.user,
'category1':category1, 'category2':category2, 'category3':category3,
'category4':category4, 'category5':category5, 'category6':category6,
'subcat1':subcat1,'subcat2':subcat2, 'subcat3':subcat3,
'subcat4':subcat4, 'subcat5':subcat5,'subcat6':subcat6 })
您应该通过以下方式检查
POST
:而不是这个:
请参阅the docs了解原因。
由于缺乏详细信息,我认为您的请求永远不会被触发,很可能是由于您的href末尾缺少尾随的白色斜杠(假设您正在发布到该url)。这是一个很好的做法,有尾随的白色斜杠后要求!
您的代码:
应该是
如果对你有用就告诉我
干杯, 生物鸟人
我就是这样解决的。下面是一个与我原来的帖子完全不同的例子。注意:用相关代码替换id和action。在我的示例中,{{form4}是通过视图传入的,它是my forms.py中的一个自定义表单,只有一个字段。
相关问题 更多 >
编程相关推荐