DJANGO开发的留言板, 如何获取上一页的url?
我在留言板里每一个留言的留言内容页做了个"举报"不良信息的按钮.当有人认为该信息或者为攻击性的或者为一些公司商业机密,可以点"举报"按钮来报告给管理员.点"举报"按钮后是...
我在留言板里每一个留言的留言内容页做了个"举报"不良信息的按钮.
当有人认为该信息或者为攻击性的或者为一些公司商业机密,可以点"举报"按钮来报告给管理员.
点"举报"按钮后是有一个form的表页,用来填举报理由的, 它的url是http://127.0.0.1:8000/request/ 当填写完"举报"理由后,点提交, 举报理由和获取的上一页的url会自动存入数据库中叫messageboard_wb的表.
我是用request.META.get('HTTP_REFERER',"/")语句来获取信息内容页(举报理由form表页的上一页)的url. 可是验证后,数据库中存的全是举报理由form表页的url, 即http://127.0.0.1:8000/request/
请大家帮我看一下是哪里的问题.
谢谢了~
def msg_request(request):
if request.method=='POST':
form=MsgRequestForm(request.POST)
if form.is_valid():
wbmessage=Wb(wbtitle=form.cleaned_data['wbtitle'],
wbreason=form.cleaned_data['wbreason'],
wbaddress=request.META.get('HTTP_REFERER',"/")
)
wbmessage.save() 展开
当有人认为该信息或者为攻击性的或者为一些公司商业机密,可以点"举报"按钮来报告给管理员.
点"举报"按钮后是有一个form的表页,用来填举报理由的, 它的url是http://127.0.0.1:8000/request/ 当填写完"举报"理由后,点提交, 举报理由和获取的上一页的url会自动存入数据库中叫messageboard_wb的表.
我是用request.META.get('HTTP_REFERER',"/")语句来获取信息内容页(举报理由form表页的上一页)的url. 可是验证后,数据库中存的全是举报理由form表页的url, 即http://127.0.0.1:8000/request/
请大家帮我看一下是哪里的问题.
谢谢了~
def msg_request(request):
if request.method=='POST':
form=MsgRequestForm(request.POST)
if form.is_valid():
wbmessage=Wb(wbtitle=form.cleaned_data['wbtitle'],
wbreason=form.cleaned_data['wbreason'],
wbaddress=request.META.get('HTTP_REFERER',"/")
)
wbmessage.save() 展开
2个回答
展开全部
同一个方法,post过来的时候HTTP_REFERER必定是http://127.0.0.1:8000/request/
你可以在用户点击“举报”也就是用get方式访问msg_request方法的时候把HTTP_REFERER放入到hidden类型的表单里面。然后提交到自身
相关代码如下:
def msg_request(request):
if request.method=='POST':
# 这时候处理表单提交过来的obj_url
obj_url = request.POST.get("obj_url", "")
form=MsgRequestForm(request.POST)
if form.is_valid():
wbmessage=Wb(wbtitle=form.cleaned_data['wbtitle'],
wbreason=form.cleaned_data['wbreason'],
wbaddress=obj_url
)
wbmessage.save()
...
# 这时候取到的方为举报的url
obj_url = request.META.get('HTTP_REFERER',"/")
return {
"obj_url": obj_url,
...
...
}
然后把obj_url渲染到表单内。
<input type="hidden" name="obj_url" value="{{obj_url}}" />
你可以在用户点击“举报”也就是用get方式访问msg_request方法的时候把HTTP_REFERER放入到hidden类型的表单里面。然后提交到自身
相关代码如下:
def msg_request(request):
if request.method=='POST':
# 这时候处理表单提交过来的obj_url
obj_url = request.POST.get("obj_url", "")
form=MsgRequestForm(request.POST)
if form.is_valid():
wbmessage=Wb(wbtitle=form.cleaned_data['wbtitle'],
wbreason=form.cleaned_data['wbreason'],
wbaddress=obj_url
)
wbmessage.save()
...
# 这时候取到的方为举报的url
obj_url = request.META.get('HTTP_REFERER',"/")
return {
"obj_url": obj_url,
...
...
}
然后把obj_url渲染到表单内。
<input type="hidden" name="obj_url" value="{{obj_url}}" />
参考资料: zlovezl.cn
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询