Django返回HTML文件的實(shí)現(xiàn)方法
前面我們簡(jiǎn)單的了解Django的一些工作原理,其中關(guān)于頁(yè)面展示的內(nèi)容,也全部都是視圖(Views)返回的內(nèi)容,那么我們也知道前端包括很多內(nèi)容。如:HTML,CSS,JavaScript等以及各種插件,才具備完全的頁(yè)面,今天我們通過(guò)HTML的格式返回頁(yè)面內(nèi)容
Templates
在Anjing目錄下創(chuàng)建一個(gè)templates文件夾,可能會(huì)有人問(wèn)了,為什么要?jiǎng)?chuàng)建這個(gè)文件夾?不能創(chuàng)建其他的嗎?
這個(gè)是Django中自動(dòng)定義的
# HTML配置相關(guān) TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
在文件夾中添加Login.html文件寫(xiě)入以下內(nèi)容
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>首頁(yè)</title> </head> <body> <h1> <p style="text-align:center" font size="2">歡迎來(lái)到安靜的博客:</p> </h1> <h1> <p style="text-align:center">請(qǐng)輸出賬號(hào)密碼:</p> </h1> <form action="/index/" method="post"> <p style="text-align:center">用戶:<input type="text" name="username" /><br /> </p> <p style="text-align:center">密碼:<input type="password" name="password" /><br /> <input type="submit" value="提交" /> </form> </body> </html>
Views
添加完成后,我們還需要在視圖(Views)文件中進(jìn)行寫(xiě)入對(duì)應(yīng)的方法,返回HTML頁(yè)面
# Virws.pyfrom django.shortcuts import render # 返回templates中的login.html文件 def login(request): return render(request, 'login.html')
其中render方法是用數(shù)據(jù)字典和請(qǐng)求元數(shù)據(jù),渲染一個(gè)指定的HTML模板。
Urls
視圖已經(jīng)添加完成了,根據(jù)我們前面寫(xiě)的應(yīng)該就差url地址了,我們需要通過(guò)urls文件把我們前面渲染的HTML根據(jù)這個(gè)路徑然后返回給前端
# Urls.py文件 from django.contrib import admin from django.urls import path # 此文件一定要在setting.py文件中進(jìn)行添加 from Anjing import views urlpatterns = [ path('admin/', admin.site.urls), path('login/', views.login), # 加入關(guān)聯(lián)的函數(shù)和應(yīng)用 ]
前端展示
前面的工作都已經(jīng)全部完成了,接下來(lái)就是展現(xiàn)正在技術(shù)的時(shí)刻了,打開(kāi)cmd重啟服務(wù)
打開(kāi)瀏覽器,輸入對(duì)應(yīng)的路徑,發(fā)現(xiàn)頁(yè)面已經(jīng)完全展示出來(lái)了。
異常報(bào)錯(cuò)
當(dāng)我們?cè)谳斎肟蛑休斎胍恍?shù)據(jù)后,點(diǎn)擊提交會(huì)發(fā)現(xiàn),頁(yè)面出現(xiàn)了404,那么這是什么原因呢?
我們可以看到圖片異常報(bào)錯(cuò)為,找不到index路徑,原來(lái)是我們這邊沒(méi)有在代碼中寫(xiě)入index的路徑渲染內(nèi)容,所以找不到,屬于正常,所有呢,大家在遇到報(bào)錯(cuò)的時(shí)候不要著急,Django都會(huì)把報(bào)錯(cuò)的一些信息全部返回給我們的。
到此這篇關(guān)于Django返回HTML文件的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)Django返回HTML文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python-openpyxl表格讀取寫(xiě)入的案例詳解
這篇文章主要介紹了Python-openpyxl表格讀取寫(xiě)入的案例分析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11在python中利用numpy求解多項(xiàng)式以及多項(xiàng)式擬合的方法
今天小編就為大家分享一篇在python中利用numpy求解多項(xiàng)式以及多項(xiàng)式擬合的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07給我一面國(guó)旗 python幫你實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Python之給我一面國(guó)旗的實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09python開(kāi)發(fā)利器之ulipad的使用實(shí)踐
Ulipad是一個(gè)國(guó)人limodou編寫(xiě)的專(zhuān)業(yè)Python編輯器,它基于wxpython開(kāi)發(fā)的GUI(圖形化界面)。下面這篇文章主要介紹了python開(kāi)發(fā)利器之ulipad的使用實(shí)踐,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-03-03python人工智能深度學(xué)習(xí)算法優(yōu)化
這篇文章主要為大家介紹了python人工智能深度學(xué)習(xí)關(guān)于算法優(yōu)化詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11親測(cè)解決tensorflow和keras版本不匹配的問(wèn)題
這篇文章主要介紹了親測(cè)解決tensorflow和keras版本不匹配問(wèn)題,完美解決:ImportError: No module named 'tensorflow.python.eager'問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03Python隨機(jī)函數(shù)random()使用方法小結(jié)
random()是Python中生成隨機(jī)數(shù)的函數(shù),是由random模塊控制,random()函數(shù)不能直接訪問(wèn),需要導(dǎo)入random 模塊,然后再通過(guò)相應(yīng)的靜態(tài)對(duì)象調(diào)用該方法才能實(shí)現(xiàn)相應(yīng)的功能2018-04-04記錄一下scrapy中settings的一些配置小結(jié)
這篇文章主要介紹了記錄一下scrapy中settings的一些配置小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09