欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

本文實例講述了Django基礎(chǔ)知識與基本應(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ù)對象與數(shù)據(jù)庫的對象(ORM)
       Template(模版):負(fù)責(zé)如何把頁面展示給用戶
       View(視圖):負(fù)責(zé)業(yè)務(wù)邏輯,并在適當(dāng)?shù)臅r候調(diào)用Model和Template

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

Django基本命令

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

django-admin startproject project_name

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

python manage.py startapp appName

啟動Django項目

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

查看django版本信息

import django
print(django.VERSION)

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

django-admin.py startproject mysite

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

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

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

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

項目與應(yīng)用:

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

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

python manage.py startapp blog

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

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

啟動django項目

python manage.py runserver 8080

這樣項目就能啟動了,訪問http://127.0.0.1:8080即可訪問。

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

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

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

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

from django.shortcuts import render,HttpResponse #導(dǎo)入render是為了返回渲染后的網(wǎng)頁,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)頁內(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")

上面的注冊機(jī)制寫的比較簡單,只是為了測試一下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)容,對應(yīng)一個視圖函數(shù)
]

下面為兩個html頁面

下面是login.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<h2>Django登錄頁面</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注冊頁面</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>

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

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

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

相關(guān)文章

  • Python的speech_recognition庫如何將聲音轉(zhuǎn)為文字

    Python的speech_recognition庫如何將聲音轉(zhuǎn)為文字

    這篇文章主要介紹了通過Python的speech_recognition庫將聲音轉(zhuǎn)為文字,將聲音轉(zhuǎn)為文字,除了speech_recognition庫,還要依賴pyaudio庫,而且mac用戶需要安裝PortAudio,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • pyenv命令管理多個Python版本

    pyenv命令管理多個Python版本

    這篇文章主要介紹了pyenv命令管理多個Python版本依賴環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Python Des加密解密如何實現(xiàn)軟件注冊碼機(jī)器碼

    Python Des加密解密如何實現(xiàn)軟件注冊碼機(jī)器碼

    這篇文章主要介紹了Python Des加密解密如何實現(xiàn)軟件注冊碼機(jī)器碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • python類的繼承鏈實例分析

    python類的繼承鏈實例分析

    在本篇文章里小編給大家整理了一篇關(guān)于python類的繼承鏈分析內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-04-04
  • python如何實現(xiàn)數(shù)組元素兩兩相加

    python如何實現(xiàn)數(shù)組元素兩兩相加

    這篇文章主要介紹了python如何實現(xiàn)數(shù)組元素兩兩相加,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python使用numpy生成18種特殊數(shù)組

    python使用numpy生成18種特殊數(shù)組

    這篇文章主要介紹了python使用numpy生成18種特殊數(shù)組的方法,文章通過代碼示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的參考價值,需要的朋友可以參考下
    2023-09-09
  • 基于python實現(xiàn)雪花算法過程詳解

    基于python實現(xiàn)雪花算法過程詳解

    這篇文章主要介紹了基于python實現(xiàn)雪花算法過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • python將ip地址轉(zhuǎn)換成整數(shù)的方法

    python將ip地址轉(zhuǎn)換成整數(shù)的方法

    這篇文章主要介紹了python將ip地址轉(zhuǎn)換成整數(shù)的方法,涉及Python針對IP地址的轉(zhuǎn)換技巧,需要的朋友可以參考下
    2015-03-03
  • 通過Python實現(xiàn)Payload分離免殺過程詳解

    通過Python實現(xiàn)Payload分離免殺過程詳解

    這篇文章主要介紹了通過Python實現(xiàn)Payload分離免殺過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • Python?selenium下拉選擇框?qū)崙?zhàn)應(yīng)用例子

    Python?selenium下拉選擇框?qū)崙?zhàn)應(yīng)用例子

    Selenium是一個開源的和便攜式的自動化軟件測試工具,用于測試Web應(yīng)用程序有能力在不同的瀏覽器和操作系統(tǒng)運行,下面這篇文章主要給大家介紹了關(guān)于Python?selenium下拉選擇框?qū)崙?zhàn)應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2022-07-07

最新評論