我试图从我的一个模板页面获取'GET'参数,称为'id'(例如issues.html?id = 1),并使用它从我的sqlite数据库执行各种检索。但是,当我运行以下代码时,我收到错误“'QueryDict'对象没有属性'id'”
以下是views.py中的一些代码:
def issues(request):
# Retrive basic legislation details from GET parameter
legislation_id = request.GET.id
legislation = Legislation.objects.filter(id = legislation_id)[0]
# Getter functions from database - names are pretty self-explanatory
def get_buttons():
button_html = ""
for tag in legislation.demographic_tags:
button_html += "<input type='button' class='button' onclick='showtag"+tag.hash_code+"();' value='"+tag.name+"'>"
return button_html
def get_description():
return legislation.description
def get_script():
return ""
def get_sponsor():
return legislation.sponsor
def get_summary():
return legislation.summary
def get_title():
return legislation.name
# Return results back to page
return render(request, 'issues.html',
{'buttons': get_buttons(), 'description': get_description(), 'script': get_script(), 'sponsor': get_sponsor(),
'summary': get_summary(), 'title': get_title()})
答案 0 :(得分:1)
您的问题似乎在这里:legislation_id = request.GET.id
request.GET
是一本字典,所以你需要得到它的密钥:
legislation_id = request.GET["id"]
您也可以使用dict
的{{1}}方法获取密钥,@ Alvaro建议:get
。如果request.GET.get("id", 0)
密钥不存在,这将默认返回0
,并使您免于id
例外。
希望这有帮助!