1、在文件myblog/urls.py里設(shè)置一個URL:

myblog/urls.pyurlpatterns = [ ... path('', views.index), #把原來的views.hello修改成views.index ''留空,表" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運營 > Blog- 模板-8

Blog- 模板-8

時間:2023-06-13 03:57:01 | 來源:網(wǎng)站運營

時間:2023-06-13 03:57:01 來源:網(wǎng)站運營

Blog- 模板-8:

django模板

一、變量

1、在文件myblog/urls.py里設(shè)置一個URL:

myblog/urls.pyurlpatterns = [ ... path('', views.index), #把原來的views.hello修改成views.index ''留空,表示為首頁 ...]2、在文件blog/views.py里添加一個視圖函數(shù):

blog/vews.py#添加一個函數(shù)def index(request): #添加兩個變量,并給它們賦值 sitename = 'blog' url = 'www.liuwq.com' #把兩個變量封裝到上下文里 context = { 'sitename': sitename, 'url':url, } #把上下文傳遞到模板里 return render(request,'index.html',context)3、在項目根目錄下templates文件夾里新建一個文件index.html,輸入如下內(nèi)容:

templates/index.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>MyBlog</title></head><body><h3>網(wǎng)站名:{{ sitename }}</h3><h3>域名:{{ url }}</h3></body></html>然后啟動項目,在瀏覽器里訪問 http://127.0.0.1:8000 就可以查看到我們在視圖函數(shù)里我們設(shè)置的內(nèi)容。







代碼里的{{ sitename }}和{{ url}}就是模板變量,變量的數(shù)據(jù)類型是字符串或整形。在Django模板中,變量需要用{{ 變量名}}來顯示。

二、列表和字典

1、在視圖函數(shù)index里添加如下代碼:

def index(request): # 添加兩個變量,并給它們賦值 sitename = 'blog' url = 'www.liuwq.com' list_l = [ 'Linux基礎(chǔ)', 'Shell', 'html', 'js', 'css', 'Python', 'Django', ] dict_t = { 'author': '劉文奇', 'blog_http': 'http://www.liuwq.com', } # 把兩個變量封裝到上下文里 context = { 'sitename': sitename, 'url': url, 'list': list_l, 'dict_t': dict_t, } # 把上下文傳遞到模板里 return render(request, 'index.html', context)2、在模板文件index.html添加如下代碼:

<h3>{{ sitename }}</h3><h3>{{ url }}</h3><ul> {% for list in list %} <li>{{ list }}</li> {% endfor %}</ul><ul> {% for keys,values in dict_t.items %} <li>{{ keys }} -- {{ values }}</li> {% endfor %}</ul>然后我們在瀏覽器里刷新頁面,顯示如下:







新加代碼里{% for list in list %}{% for %}屬于Django模板的內(nèi)置標簽,它可以遍歷輸出變量的內(nèi)容。

新加的代碼里,{% for key,values in dict_t.items %} 是遍歷輸出字典里的keyvalues的內(nèi)容。

上面的就是在模板里調(diào)用變量、列表、字典的方法。當然,模板里還有許多內(nèi)置的標簽和過濾器。




模板(數(shù)據(jù)庫查詢)

進行數(shù)據(jù)查詢之前,我們需要先進入我們的管理后臺,在里面添加一些數(shù)據(jù)。然后我們用Pycharm打開我們的數(shù)據(jù)庫。具體操作方法

我們的數(shù)據(jù)結(jié)構(gòu)長這般模樣:







雙擊blog_article,可以查看到文章表里的內(nèi)容和里面的字段:







  1. 在視圖函數(shù)里對要查詢的Product進行聲明并實例化,然后生成對象allarticle。
# 導(dǎo)入Article類from blog.models import Articledef index(request): # 對Article進行聲明并實例化,然后生成對象allarticle allarticle = Article.objects.all() # 把查詢到的對象,封裝到上下文 context = { 'allarticle': allarticle, } # 把上傳文傳到模板頁面index.html里 return render(request, 'index.html', context)注:這里我在原來的基礎(chǔ)上,把index視圖函數(shù)里的內(nèi)容刪除了,修改成上面的內(nèi)容,下面的模板頁面index.html也是如此。

  1. 打開templates/index.html頁面,修改成下面的內(nèi)容:
<div> <ul> <h4>所有文章: </h4> {% for article in allarticle %} <li>{{ article.title }}</li> {% endfor %} </ul></div>然后訪問網(wǎng)站首頁。就能看到我們的查詢結(jié)果。







在模板里,我們可以對對象的屬性進行賦值。比如模板里的{{ article.title }} 標題,就是我們通過**{{ 對象.屬性(字段) }}**獲取到對應(yīng)的值。其它字段也是通過這樣的方法來實現(xiàn)。

例如:

<div> <ul> <h4>所有文章:</h4> {% for article in allarticle %} <li> 標題:{{ article.title }}<br /> 欄目:{{ article.category }}<br /> 作者:{{ article.user }}<br /> 時間:{{ article.created_time }}<br /> </li> {% endfor %} </ul></div>





想要將數(shù)據(jù)庫的數(shù)據(jù)展現(xiàn)到網(wǎng)頁上,需要由視圖、模型與模板共同實現(xiàn),步驟如下:
  1. 在models.py里定義數(shù)據(jù)模型,以類的方式定義數(shù)據(jù)表的字段。在數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)表時,數(shù)據(jù)表由模型定義的類生成。
  2. 在視圖views.py導(dǎo)入模型所定義的類,我們把這個類稱之為數(shù)據(jù)表對象,然后在視圖函數(shù)里使用Django的數(shù)據(jù)庫操作方法,實現(xiàn)數(shù)據(jù)庫操作,從而獲取到數(shù)據(jù)表里的數(shù)據(jù)。
  3. 視圖函數(shù)獲取到數(shù)據(jù)之后,將數(shù)據(jù)以字典、列表或?qū)ο螅ㄉ舷挛腸ontext)的方式傳遞給HTML模板,并由模板引擎接收和解析,最后生成相應(yīng)的HTML網(wǎng)頁,在瀏覽器里展現(xiàn)出來



各位小伙伴如果覺得還可以,請關(guān)注、點贊、收藏。感謝各位!

關(guān)鍵詞:模板

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉