最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django基礎(chǔ)知識(shí)與基本應(yīng)用入門(mén)教程

 更新時(shí)間:2018年07月20日 09:18:56   作者:鎧甲巨人  
這篇文章主要介紹了Django基礎(chǔ)知識(shí)與基本應(yīng)用,結(jié)合實(shí)例形式分析了Django框架基本的項(xiàng)目創(chuàng)建、啟動(dòng)、查看版本等操作,并結(jié)合一個(gè)簡(jiǎn)單的blog應(yīng)用示例分析了Django的基本使用方法,需要的朋友可以參考下

本文實(shí)例講述了Django基礎(chǔ)知識(shí)與基本應(yīng)用。分享給大家供大家參考,具體如下:
MVC模式和MTV模式

MVC model view controller

MTV model templates view controller

Django的MTV模式本質(zhì)是各組件之間為了保持松耦合關(guān)系,Django的MTV分別代表:

       Model(模型):負(fù)責(zé)業(yè)務(wù)對(duì)象與數(shù)據(jù)庫(kù)的對(duì)象(ORM)
       Template(模版):負(fù)責(zé)如何把頁(yè)面展示給用戶
       View(視圖):負(fù)責(zé)業(yè)務(wù)邏輯,并在適當(dāng)?shù)臅r(shí)候調(diào)用Model和Template

此外,Django還有一個(gè)url分發(fā)器,它的作用是將一個(gè)個(gè)URL的頁(yè)面請(qǐng)求分發(fā)給不同的view處理,view再調(diào)用相應(yīng)的Model和Template。

Django基本命令

創(chuàng)建一個(gè)Django項(xiàng)目

django-admin startproject project_name

創(chuàng)建項(xiàng)目應(yīng)用

python manage.py startapp appName

啟動(dòng)Django項(xiàng)目

python manage.py runserver IP PORT  #默認(rèn)是8000

查看django版本信息

import django
print(django.VERSION)

創(chuàng)建一個(gè)mysite項(xiàng)目

django-admin.py startproject mysite

當(dāng)前目錄下會(huì)生成一個(gè)mysite項(xiàng)目目錄,結(jié)構(gòu)如下:

manage.py是Django項(xiàng)目里的工具,通過(guò)它可以調(diào)用django shell和數(shù)據(jù)庫(kù)等。

settings.py是項(xiàng)目的默認(rèn)設(shè)置文件,包括數(shù)據(jù)庫(kù)的信息,調(diào)試標(biāo)志以及其他工作的變量。

urls.py是負(fù)責(zé)把url模式映射到應(yīng)用程序。

項(xiàng)目與應(yīng)用:

  一個(gè)項(xiàng)目可以有多個(gè)應(yīng)用
  一個(gè)應(yīng)用可以被多個(gè)項(xiàng)目擁有

在mysite目錄下創(chuàng)建應(yīng)用,比如blog

python manage.py startapp blog

生成如上目錄結(jié)構(gòu)。

models:與數(shù)據(jù)庫(kù)交互的文件
views:存放視圖函數(shù)的

啟動(dòng)django項(xiàng)目

python manage.py runserver 8080

這樣項(xiàng)目就能啟動(dòng)了,訪問(wèn)http://127.0.0.1:8080即可訪問(wèn)。

注意csrf保護(hù)機(jī)制

在mysite項(xiàng)目目錄下的settings配置文件中,中間件MIDDLEWARE設(shè)置中,有一條
django.middleware.csrf.CsrfViewMiddleware一行,新手練習(xí)時(shí)可以先將其注釋掉。

下面我在mysite這個(gè)項(xiàng)目寫(xiě)一個(gè)練手blog應(yīng)用,注冊(cè)和登錄。

下面是blog應(yīng)用中views.py的代碼:

from django.shortcuts import render,HttpResponse #導(dǎo)入render是為了返回渲染后的網(wǎng)頁(yè),HttpResponse是可以返回字符串
import json
# Create your views here.
def login(request):
  if request.method=="POST":#指定格式為POST
    print(request.POST)
    username=request.POST.get("user")
    password=request.POST.get("pwd")
    f=open("a.txt","r")
    # data=f.read()
    dic=json.load(f)
    if username in dic and password==dic[username]:
      return HttpResponse("登錄成功") #返回字符串內(nèi)容
  return render(request,"login.html") #返回網(wǎng)頁(yè)內(nèi)容
def auth(request):
  if request.method=="POST":
    # print(request.POST)
    username=request.POST.get("user")
    password=request.POST.get("pwd")
    info={}
    info[username]=password
    print(info)
    f=open("a.txt","a")
    data=json.dump(info,f)
    f.close()
  return render(request,"auth.html")

上面的注冊(cè)機(jī)制寫(xiě)的比較簡(jiǎn)單,只是為了測(cè)試一下django的使用。

下面是mysite目錄下的urls.py代碼

from django.conf.urls import url
from django.contrib import admin
from blog import views
urlpatterns = [
  url(r'^admin/', admin.site.urls),
  url(r'login',views.login),
  url(r'auth',views.auth),#login為瀏覽器url地址欄IP:PORT/后面的內(nèi)容,對(duì)應(yīng)一個(gè)視圖函數(shù)
]

下面為兩個(gè)html頁(yè)面

下面是login.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<h2>Django登錄頁(yè)面</h2>
<form action="http://127.0.0.1:8900/login/" method="post">
  <p>姓名<input type="text" name="user"></p>
  <p>密碼<input type="password" name="pwd"></p>
  <p>
    <input type="submit">
  </p>
</form>
</body>
</html>

下面是auth.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<h2>Django注冊(cè)頁(yè)面</h2>
<form action="http://127.0.0.1:8900/auth" method="post">
  <p>姓名<input type="text" name="user"></p>
  <p>密碼<input type="password" name="pwd"></p>
  <p>
    <input type="submit">
  </p>
</form>
</body>
</html>

下圖左面為整個(gè)目錄結(jié)構(gòu),右面為settings配置文件中需要注意的位置,該項(xiàng)標(biāo)識(shí)了模板目錄,否則會(huì)找不到。

如上配置之后,在templates目錄內(nèi)寫(xiě)好對(duì)應(yīng)的兩個(gè)html頁(yè)面之后,通過(guò)python manage.py runserver 8900命令啟動(dòng)項(xiàng)目,訪問(wèn)相應(yīng)ip 端口 等就可以訪問(wèn)了。

希望本文所述對(duì)大家基于Django框架的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python Locals變量管理新嘗試引領(lǐng)代碼風(fēng)潮

    Python Locals變量管理新嘗試引領(lǐng)代碼風(fēng)潮

    在Python中,locals()函數(shù)是一個(gè)強(qiáng)大的工具,它使程序員能夠訪問(wèn)和操作當(dāng)前作用域內(nèi)的局部變量,本文將深入探討locals()函數(shù)的功能、應(yīng)用和重要性
    2024-01-01
  • django 多對(duì)多表的創(chuàng)建和插入代碼實(shí)現(xiàn)

    django 多對(duì)多表的創(chuàng)建和插入代碼實(shí)現(xiàn)

    這篇文章主要介紹了django-多對(duì)多表的創(chuàng)建和插入代碼實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 關(guān)于Django顯示時(shí)間你應(yīng)該知道的一些問(wèn)題

    關(guān)于Django顯示時(shí)間你應(yīng)該知道的一些問(wèn)題

    將Django項(xiàng)目部署到Linux系統(tǒng)上進(jìn)行測(cè)試時(shí),發(fā)現(xiàn)操作記錄的時(shí)間與服務(wù)器的時(shí)間不一致,相差13個(gè)小時(shí)。這主要是因?yàn)闀r(shí)區(qū)的問(wèn)題,下面這篇文章主要總結(jié)介紹了關(guān)于Django顯示時(shí)間你應(yīng)該知道的一些問(wèn)題,需要的朋友可以參考下。
    2017-12-12
  • PyCharm第一次安裝及使用教程

    PyCharm第一次安裝及使用教程

    本文通過(guò)圖文并茂的形式給大家介紹PyCharm第一次安裝及使用教程,分步驟通過(guò)實(shí)際案例給大家操作演示,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python中if __name__ == ''__main__''作用解析

    Python中if __name__ == ''__main__''作用解析

    這篇文章主要介紹了Python中if __name__ == '__main__'作用解析,這斷代碼在Python中非常常見(jiàn),它有作用?本文就解析了它的作用,需要的朋友可以參考下
    2015-06-06
  • Python爬蟲(chóng)與反爬蟲(chóng)大戰(zhàn)

    Python爬蟲(chóng)與反爬蟲(chóng)大戰(zhàn)

    這篇文章主要介紹了Python爬蟲(chóng)與反爬蟲(chóng)的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解Python爬蟲(chóng)與反爬蟲(chóng)的關(guān)系,感興趣的朋友可以了解下
    2020-07-07
  • Python選擇網(wǎng)卡發(fā)包及接收數(shù)據(jù)包

    Python選擇網(wǎng)卡發(fā)包及接收數(shù)據(jù)包

    今天小編就為大家分享一篇關(guān)于Python選擇網(wǎng)卡發(fā)包及接收數(shù)據(jù)包,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-04-04
  • pandas實(shí)現(xiàn)to_sql將DataFrame保存到數(shù)據(jù)庫(kù)中

    pandas實(shí)現(xiàn)to_sql將DataFrame保存到數(shù)據(jù)庫(kù)中

    這篇文章主要介紹了pandas實(shí)現(xiàn)to_sql將DataFrame保存到數(shù)據(jù)庫(kù)中,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Jupyter Notebook 文件默認(rèn)目錄的查看以及更改步驟

    Jupyter Notebook 文件默認(rèn)目錄的查看以及更改步驟

    這篇文章主要介紹了Jupyter Notebook 文件默認(rèn)目錄的查看以及更改步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • 一篇文章帶你深入學(xué)習(xí)Python函數(shù)

    一篇文章帶你深入學(xué)習(xí)Python函數(shù)

    這篇文章主要帶大家深入學(xué)習(xí)Python函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01

最新評(píng)論

页游| 杭州市| 怀宁县| 邓州市| 永德县| 离岛区| 东光县| 鄂伦春自治旗| 房产| 巴林左旗| 正宁县| 大埔区| 龙州县| 绵阳市| 清丰县| 龙山县| 娄烦县| 策勒县| 阳信县| 陈巴尔虎旗| 黄龙县| 德州市| 湟源县| 赫章县| 特克斯县| 凉山| 太谷县| 双牌县| 黄陵县| 蒲城县| 抚顺市| 永登县| 会宁县| 宁安市| 额尔古纳市| 怀集县| 柯坪县| 常熟市| 长岭县| 泊头市| 桐城市|