Heim >Web-Frontend >Front-End-Fragen und Antworten >Django verwendet eine Anfrage, um die vom Browser gesendeten Parameter abzurufen

Django verwendet eine Anfrage, um die vom Browser gesendeten Parameter abzurufen

jacklove
jackloveOriginal
2018-06-11 22:25:403617Durchsuche

Daten abrufen (vier Möglichkeiten)

1. url: 需要正则去匹配
    url(r'^index/(num)/$', view.index)
    匹配到的参数会自动传入对应的视图函数

    也可以给匹配到的参数起名字?P<num>
    url(r&#39;^index/(?P<num1>\d*)(?P<num2>\w*)$&#39;,)

    使用url传参的时候,要么都使用位置参数,要么都使用给参数起名字的方式

    也可以通过request.path获取到url然后获取相应的参数.
    如访问127.0.0.1:8000/index/
    则request.path = &#39;/index/&#39;2. ?号后面的键值对(又叫查询字符串): 
    如 index/?num=55&num2=66&num=77
    request.GET.get(&#39;num&#39;) # 获取的是77
    request.GET.getlist(&#39;num&#39;) # 获取num的所有值
    request.GET.get(&#39;num2&#39;) 

3. 请求体
    request.POST.get() 获取表单数据

    request.body 获取非表单数据,如json
    request.body返回的是一个byte的对象
        b&#39;{"key":"value"}&#39;,可以通过下面方式获取值
    data = eval(request.body.decode()).get(&#39;key&#39;)
    data1 = json.loads(request.body).get(&#39;key&#39;)    #如果request.body没有数据上面两条语句都会报错4. 报文头
    request.META 获取请求头信息,
    django会自动把获取到的请求头全部转化为大写,并在前面加上HTTP,如:
    请求头: User-Agent:***** 
    获取方式: request.META.get(&#39;HTTP_USER_AGENT&#39;)
  • Codebeispiel (Anforderungsdaten abrufen)

# 获取正则匹配到的数据,num1未位置参数,num2为命名参数,def index(request,num2=None, num1=None):
    print(num2)    # 构造响应数据
    reNT&#39;)
    sp = HttpResponse(&#39;hello world&#39;)

    # 获取请求头
    header = request.META.get(&#39;HTTP_USER_AGE)
    # 获取地址
    path = request.path    # 获取 ? 后面的数据(获取查询字符串数据)
    para = request.GET

    # 获取json数据
    json_data = request.body
    data = eval(request.body.decode()).get(&#39;asd&#39;)
    data1 = json.loads(request.body).get(&#39;asd&#39;)
    # 获取表单数据
    form_data = request.POST    # 获取请求方法
    method = request.method    # 获取文件
    file_obj = request.FILES.get(&#39;image&#39;)

    return resp

Dies Dies In diesem Artikel wird ausführlich erläutert, wie Django die vom Browser gesendeten Parameter verwendet. Weitere Informationen finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Das Problem der Übergabe von Werten von der übergeordneten Komponente an die untergeordnete Komponente von Echarts in Vue

Detaillierte Erläuterung des strikten Javascript-Modus

Zugehörige Codeanalyse von PHP zur Implementierung der Anmeldefunktion

Das obige ist der detaillierte Inhalt vonDjango verwendet eine Anfrage, um die vom Browser gesendeten Parameter abzurufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn