Django_杂

 

一、url带一些GET参数"url?a=1&b=2",经过QueryDict以及其urlencode()进行处理css

        from django.http.request import QueryDict
        param_dict = QueryDict(mutable=True)
        if request.GET:
            param_dict["_changelistfilter"] = request.GET.urlencode()
        base_add_url = reverse("{2}:{0}_{1}_add".format(self.app_label,self.model_name,self.site.namespace))
        add_url = "{0}?{1}".format(base_add_url,param_dict.urlencode())

 

QueryDict类型
page_param_dict = copy.deepcopy(request.GET)
page_param_dict._mutable = True

page_param_dict["k"] = "v"

 

二、在html引入static里的文件,不用写死html

STATIC_URL = '/static/'
settings.py
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static 'yg/plugins/bootstrap-3.3.7-dist/css/bootstrap-theme.css' %}" >
</head>
html

 

三、获取request源ipdjango

有些网站服务器会使用ngix等代理http,或者是该网站作了负载均衡,致使使用remote_addr抓取到的是1270.0.1,这时使用HTTP_X_FORWARDED_FOR才得到是用户的真实IP。

if request.META.has_key('HTTP_X_FORWARDED_FOR'):
    ip =  request.META['HTTP_X_FORWARDED_FOR']
else:
    ip = request.META['REMOTE_ADDR']
相关文章
相关标签/搜索