中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Django視圖怎么用

發布時間:2021-12-14 14:42:56 來源:億速云 閱讀:106 作者:小新 欄目:編程語言

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

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

我們來試著寫一個函數類型的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設置HTTP響應頭字段,用于告訴前端如何解析頁面
status是狀態碼,默認是200,可以自定義
using指定模板引擎的名稱,默認是使用Django模板引擎
render()函數

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

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

context:要傳入文件中用于渲染呈現的數據, 默認為空字典;

content_type:生成的文檔要使用的MIME 類型,默認為DEFAULT_CONTENT_TYPE 設置的值;

status:http的響應代碼,默認是200;

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

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

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

類視圖如何具體使用

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

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

此時會報錯,因為我們還沒有創建這個類,那我們先在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})

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

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

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

Django視圖怎么用

剛剛說到打斷點,我們再來詳細說一下如何在Django項目中調試斷點

  • 第一步:在想要調試的代碼前打上斷點,也就是在代碼前面,行號的后面的位置,鼠標單擊,就可以設置斷點了;

  • 第二步:先確保項目沒有在運行狀態,然后選擇Run->Debug->選擇要運行項目的名稱,此時就進入了斷點調試,斷點還有好多其他操作和功能,把鼠標移到相應的按鈕上看一下就能知道了;

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

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

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

向AI問一下細節

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

AI

鹤壁市| 黄骅市| 蓬安县| 崇州市| 宣城市| 咸阳市| 日照市| 米易县| 山东| 鄂托克旗| 会同县| 罗江县| 清涧县| 布尔津县| 扎兰屯市| 定南县| 华安县| 上栗县| 邹城市| 开远市| 神农架林区| 宜兰市| 河西区| 永登县| 乌恰县| 定安县| 新丰县| 光泽县| 霍山县| 改则县| 开化县| 新晃| 桐柏县| 博客| 鄂州市| 临夏市| 社旗县| 会东县| 南投县| 洪洞县| 溧水县|