91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

django-視圖

發布時間:2020-07-02 19:25:40 來源:網絡 閱讀:338 作者:lixiaobo994 欄目:開發技術

視圖

    url

        Django中url匹配是寫在 urls.py 文件中,用正則表達式對應 views.py 中的一個函數

        配置url和對應視圖函數之間的映射

        url(r'^$', views.index),

        url(r'^manage/(?P<name>\w*)/(?P<id>\d*)', views.manage),

        url(r'^manage/(?P<name>\w*)', views.manage,{'id':333}),        

        url(r'^web/',include('web.urls')), 根據app對路由規則進行一次分類

視圖

一個視圖函數,簡稱視圖,是一個簡單的Python 函數,它接受Web請求并且返回Web響應。

下面是一個返回當前日期和時間作為HTML文檔的視圖:

from django.http import HttpResponse

import datetime

def current_datetime(request):

now = datetime.datetime.now()

html = "<html><body>It is now %s.</body></html>" % now

return HttpResponse(html)

快捷函數

render(request, template_name[, context][, context_instance][, content_type][, status][, current_app][, dirs][, using])

request 必選參數

用于生成響應的請求對象。

status

響應的狀態碼。默認為200。

redirect(to, [permanent=False, ]*args, **kwargs)


裝飾器

require_http_methods(request_method_list)[source]

限制視圖只能服務規定的http方法。用法:

from django.views.decorators.http import require_http_methods

@require_http_methods(["GET", "POST"])

def my_view(request):

pass

require_GET()

只允許視圖接受GET方法的裝飾器。

require_POST()

只允許視圖接受POST方法的裝飾器。

require_safe()

只允許視圖接受 GET 和 HEAD 方法的裝飾器。 這些方法通常被認為是安全的,因為方法不該有請求資源以外的目的。

請求和響應對象

Django 使用Request 對象和Response 對象在系統間傳遞狀態。

HttpRequest.method

一個字符串,表示請求使用的HTTP 方法。必須使用大寫。例如:

if request.method == 'GET':

do_something()

elif request.method == 'POST':

do_something_else()

HttpRequest.path 一個字符串,表示請求的頁面的完整路徑,不包含域名。

HttpRequest.POST 一個類似于字典的對象,如果請求中包含表單數據,則包含HTTP POST 的所有參數。

HttpRequest.COOKIES 一個標準的Python 字典,包含所有的cookie。鍵和值都為字符串。

HttpRequest.FILES 一個類似于字典的對象,包含所有的上傳文件。FILES 中的每個鍵為<input type="file" name="" /> 中的name。

JsonResponse 對象

典型的用法如下:

from django.http import JsonResponse

response = JsonResponse({'foo': 'bar'})


文件上傳

當Django在處理文件上傳的時候,文件數據被保存在request. FILES

from django import forms


class UploadFileForm(forms.Form):

title = forms.CharField(max_length=50)

file = forms.FileField()


def handle_uploaded_file(f):

with open('some/file/name.txt', 'wb+') as destination:

for chunk in f.chunks():

destination.write(chunk)

def upload_file(request):

if request.method == 'POST':

form = UploadFileForm(request.POST, request.FILES)

if form.is_valid():

handle_uploaded_file(request.FILES['file'])


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元阳县| 江达县| 小金县| 墨脱县| 灵台县| 景洪市| 株洲市| 德化县| 辽阳县| 阳高县| 隆子县| 土默特左旗| 永胜县| 陈巴尔虎旗| 松滋市| 阿拉尔市| 商丘市| 隆尧县| 洪江市| 太原市| 监利县| 龙川县| 平利县| 习水县| 中西区| 定西市| 毕节市| 美姑县| 石首市| 霍山县| 大同县| 皮山县| 桃江县| 济源市| 鞍山市| 宁陕县| 习水县| 辽宁省| 兰州市| 登封市| 合山市|