欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Django視圖怎么用-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)Django視圖怎么用,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)是專業(yè)的漣水網(wǎng)站建設(shè)公司,漣水接單;提供網(wǎng)站設(shè)計制作、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行漣水網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

一個視圖函數(shù)或者類,簡稱視圖(view),是一個簡單的Python 函數(shù)(類),它接受Web請求并且返回Web響應(yīng)。響應(yīng)可以是HTML頁面、一個重定向、一個404錯誤、一個xml、json數(shù)據(jù)、或圖片等,視圖放置在項(xiàng)目或應(yīng)用程序(app)目錄中的名為views.py的文件中;

我們來試著寫一個函數(shù)類型的View視圖

from django.shortcuts import render
def index(request):
    if request.method == 'POST':
        pass
    else:
        return render(request=request, template_name='index.html', context=None, content_type=None, status=None,
                      using=None)
其中的context是字典
content_type設(shè)置HTTP響應(yīng)頭字段,用于告訴前端如何解析頁面
status是狀態(tài)碼,默認(rèn)是200,可以自定義
using指定模板引擎的名稱,默認(rèn)是使用Django模板引擎
render()函數(shù)

語法為render(request, template_name, context=None, content_type=None, status=None, using=None)

request:用于生成此響應(yīng)的請求對象; template_name:templates 中定義的文件,要注意路徑名;

context:要傳入文件中用于渲染呈現(xiàn)的數(shù)據(jù), 默認(rèn)為空字典;

content_type:生成的文檔要使用的MIME 類型,默認(rèn)為DEFAULT_CONTENT_TYPE 設(shè)置的值;

status:http的響應(yīng)代碼,默認(rèn)是200;

using:用于加載模板使用的模板引擎的名稱;

看完了函數(shù)視圖,那我們簡單的來看一下類視圖,類視圖比函數(shù)視圖代碼量更少

class ProfileView(View):
    def get(self, request):
        return render(request, template_name='profile.html')
    def post(self, request):
        pass

類視圖如何具體使用

我們用之前的users app舉例,在項(xiàng)目中增加一個profile.html文件(項(xiàng)目的templates中,html文件都在這個文件夾中),我們想要的效果能成功訪問/users/profile/
首先我們需要在users APP中的urls.py模塊中處理,需要導(dǎo)入ProfileView這個類:

from .views import ProfileView
url(r'^profile/$', ProfileView.as_view(), name='profile'),

此時會報錯,因?yàn)槲覀冞€沒有創(chuàng)建這個類,那我們先在users APP的views.py中編寫ProfileView類

class ProfileView(View):
    def get(self, request):
        return render(request, 'profile.html', {'name': 'Angle'})
    def post(self, request):
        username = request.POST.get('username', "")
        password = request.POST.get('password', "")
        return render(request, 'index.html', {'username': username, 'age': 18})

然后在之前創(chuàng)建的profile.html文件中隨意幾句HTML代碼

 <div >users profile</div>
# 我在style中加入了一個顏色樣式

我們在剛剛編寫的ProfileView類中打上斷點(diǎn),然后我們運(yùn)行項(xiàng)目,選擇Run—>Debug 項(xiàng)目名稱,然后運(yùn)行,在控制臺中會出現(xiàn)這個地址: http://127.0.0.1:8000/,我們點(diǎn)進(jìn)去,然后在后面加上/users/profile/的路徑,是不是就能看到我們編輯的HTML代碼`users profile`了;

Django視圖怎么用

剛剛說到打斷點(diǎn),我們再來詳細(xì)說一下如何在Django項(xiàng)目中調(diào)試斷點(diǎn)

  • 第一步:在想要調(diào)試的代碼前打上斷點(diǎn),也就是在代碼前面,行號的后面的位置,鼠標(biāo)單擊,就可以設(shè)置斷點(diǎn)了;

  • 第二步:先確保項(xiàng)目沒有在運(yùn)行狀態(tài),然后選擇Run->Debug->選擇要運(yùn)行項(xiàng)目的名稱,此時就進(jìn)入了斷點(diǎn)調(diào)試,斷點(diǎn)還有好多其他操作和功能,把鼠標(biāo)移到相應(yīng)的按鈕上看一下就能知道了;

配置users的url(再配置路由的時候可能會出現(xiàn)的問題)

配置users的url的時候可能會出現(xiàn)url(r'^users/', include('users.urls', namespace='users'))報錯的問題,原因可能是Django的版本造成,1.0版本和2.0版本的源碼不同,include方法所帶的參數(shù)不同,2.0中include方法不能接受app_name參數(shù),我們需要做一些調(diào)整,解決方法為:url(r'^users/', include(('users.urls', 'users'), namespace='users')),這樣就可以正常啟動了

關(guān)于“Django視圖怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

文章標(biāo)題:Django視圖怎么用-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://chinadenli.net/article16/hhjgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)手機(jī)網(wǎng)站建設(shè)自適應(yīng)網(wǎng)站Google定制網(wǎng)站域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名