导读:很多朋友问到关于django怎么获取动态url的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
DJANGO开发的留言板, 如何获取上一页的url?
同一个方法,post过来的时候HTTP_REFERER必定是
你可以在用户点击“举报”也就是用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}}" /
Django 静态文件与动态文件
编辑 settings:
MEDIA_ROOT 和 MEDIA_URL 代表的是用户上传后的文件保存的地方。可以理解为存放可变文件的文件夹。
这两个参数有什么用处呢?
在 Django 的 FileField 和 ImageField 这样的 Model 类中,有 upload_to 参数可选。当 upload_to 设置相关的地址后,如例子:
文件上传后将自动保存到: os.path.join(MEDIA_ROOT, upload_to) ,在本例中就是: /static/uploads/test_pictures
而 MEDIA_URL ,则代表用户可以通过怎样的 URL 来访问这些上传后的文件资源。
在本例子中,本机地址是: , MEDIA_URL 设置为 /static/uploads/
那么通过: 文件名 就可以访问相关的上传图片或者其他文件。
STATIC_ROOT 和 STATIC_URL 则是网站中,用于网站放置的静态图片、CSS、JS 等文件的保存地址。可以理解为,保存网站运行中不会再变文件的文件夹(即不会删除或者新增)
STATIC_URL ,同 MEDIA_URL 类似;设置 STATIC_URL 为 "/static/" 时候,通过: 文件名 就可以访问相关的静态文件了。
STATIC_ROOT 是一个比较特殊的文件夹。这是 Django 的开发模式和部署模式区别最大的地方。
通常我们在开发模式下,可以在我们所在的 project 下建立相应的 app, 然后每个 app 下都建立相应的 static 文件夹。在开发模式下(Debug=True),Django 将为我们自动查找这些静态文件(每个app)并在网页上显示出来。然而,在部署模式下,Django 认为这些工作交由 web 服务器来运行会更有效率。
因此,在部署时,我们需要运行一下 :
这个命令将会把每个 app 里的 static 目录下的文件 copy 到 STATIC_ROOT 这个文件夹下。
如果在部署模式下,即: (Debug=False) 访问相关网页,如: 文件名 ,将不会访问 Django下各个 App 中的 static 文件夹,而是 STATIC_ROOT 中所指定的文件夹。
为了在部署模式下正确使用,我们还需要在 urls.py 中添加以下:
这相当于告诉 Django 碰到一个 "static" 开头的链接时,该如何处理。
了解完以上之后,我们让图片在前端显示出来。
编写一个 show 视图函数,来传递动态图片:
然后编写 show.html :
怎么在django中获取URL上的参数
其实很简单
#coding:utf-8
from django.shortcuts import render,render_to_response
# Create your views here.
from django.http import HttpResponse
def hi(request):
user = {'user_id':1,'username':'张三','username':'李四'}
getUserName = request.GET.get('username')
print getUserName
return render_to_response("index.html",user)1234567891011
request.GET.get()就是获取url参数。
上面print getUserName打印结果为:zhangsan
结语:以上就是首席CTO笔记为大家整理的关于django怎么获取动态url的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django怎么获取动态url的相关内容别忘了在本站进行查找喔。