Django文字教程

2022-02-20 15:24:45 字數 3374 閱讀 8430

user-----url對應關係-------檢視函式def func1()--------------

函式給使用者返回的實質上就是乙個字串,過程:通過open函式開啟html,把html讀到記憶體中,然後把裡面的字串返回給使用者,如果裡面有特殊字元的話,會先處理。

views檢視可以看作是前端與資料庫的中間人,他會將前端想要的資料從資料庫中讀出來給前端。他也會將使用者要想儲存的資料寫到資料庫。

如下如下:

1.建立django工程

django-admin startproject 工程名

mysite

settings.py---主配置檔案

urls.py-------url路由檔案

wsgi.py-------網路通訊介面

templates-------html檔案的歸置目錄

cd 工程名

-migrations 資料操作記錄,是自動建立的。資料修改表結構

-__init__.py #在python3裡面可有可無都行

-__init__.py

-admin.py #django 為我們提供的後台管理。

-models.py #orm,寫指定的類,通過命令可以建立資料庫結構。

-tests.py #單元測試

-views.py #業務**。這個才是真正寫**的地方,上面的都是做配置的。

3.靜態檔案配置-在工程下面的setting中,即主配置檔案中進行配置,css,js等。

mysite.settings.py,配置如下:

staticfiles_dirs=(os.path.join(base_dir,'static'),) #因為是元組,一定要有逗號

4.模板路徑配置-在工程下面的setting中,即主配置檔案中進行配置,html等。

dirs==> [os.path.join(base_dir,'templates'),]

5.關閉django的跨站請求保護機制-在工程下面的setting中,即主配置檔案中進行配置

注釋掉:

#'django.middleware.csrf.csrfviewmiddleware'

6.定義路由規則-在工程下面的urls.py中,即url路由檔案中進行配置

urls.py

'login'--->函式名(只是對應乙個函式名,後面是不帶括號的)

def func(request): #request中包含客戶端發來的請求中的所有內容

#去請求裡面取資料

#request.method: get/post #獲取請求的方式

#request.get.get('',none) #獲取請求發來的資料

127.0.0.1:8000/home?nid=123&name=jack

#request.post.get('email',none)

通過檢視函式給使用者返回資料的3中方法

#return httpresponse('字串')

#return render(request,'html模板的路徑') 例如:test1/home.html

#return redirect('/只能填url',) 不能填html模板的路徑,只能填url

8.模板渲染

有一套特殊的模板語言

*****=}

1). def func(request):

return render(request,'index.html') #傳送給使用者的是靜態的資料

2). def func(request):

return render(request,'index.html',) #

index.html

}#}相當於取變數值

步驟:1>.使用者請求來了,首先到達檢視函式2>.檢視函式先去把模板拿過來,模板裡面有特殊標記,再把值與模板進行渲染,渲染完成之後就變成了字串。如下:***************=最後生成的字串,整體返回給使用者。特殊的標記是在什麼時候所做的替換?---檢視函式在返回資料的那一剎那之前做的。

所以咱們的瀏覽器拿到字串的時候,永遠是被渲染完畢的字串。

jack

*****=for迴圈

def func(request):

return render(request,'index.html',)

index.html

}#}相當於取變數值

*****=字典索引,注意字典與列表的取法不同,乙個用的是角標,乙個用的是key值。

def func(request):

return render(request,'index.html',})

index.html

}#}相當於取變數值

}}}*****=條件*****== if可以巢狀if迴圈,也可以巢狀到for迴圈裡面。

def func(request):

return render(request,'index.html',})

index.html

}#}相當於取變數值

}}}有年齡

老男人小鮮肉

沒年齡

圖示示範:可以一目了然,去**配置什麼。

索引的時候,用的都是點 xx.0,xx.1這樣來取元素的。

Django 教程 Django 模型

乙個django模組是內建的功能,django使用建立表,他們的田地,和各種約束。簡而言之,django models是與django一起使用的sql資料庫。sql 結構化查詢語言 很複雜,涉及許多不同的查詢,用於建立,刪除,更新或與資料庫有關的任何其他內容。django模型簡化了任務並將表組織到模...

Django教程 Django模板

如何向請求者返回乙個漂亮的頁面呢?肯定需要用到html css,如果想要更炫的效果還要加入js,問題來了,這麼一堆字串全都寫到檢視中,作為httpresponse 的引數嗎?先看看如何拼接html 圖書首頁 if request.method get res html books 射鵰英雄傳 神鵰俠...

Django 學習教程

init py 是當前目錄為工作目錄 urls.py根據此檔案呼叫對應的試圖方法,本質為url和試圖函式間的對映表,但是檢視函式必須在python的搜尋路徑上。settings.py 專案的配置檔案 manage.py 命令列工具,用於啟動伺服器。3啟動伺服器 python manage.py ru...