Linux下搭建Django框架

一、環(huán)境安裝

在Linux系統(tǒng)下寫項(xiàng)目時(shí)建議一個(gè)項(xiàng)目一個(gè)環(huán)境,這里就需要用到虛擬環(huán)境的知識(shí),關(guān)于虛擬環(huán)境后續(xù)會(huì)詳細(xì)整理出來,這里先放一些基本的命令

#虛擬環(huán)境

mkvirtualenv # 創(chuàng)建虛擬環(huán)境

rmvirtualenv # 刪除虛擬環(huán)境

workon # 進(jìn)入虛擬環(huán)境,查看所有虛擬環(huán)境

deactive # 退出虛擬環(huán)境

# pip

pip install # 安裝依賴包

pip uninstall # 卸載依賴包

pip list # 查看已安裝的依賴包

pip freeze # 凍結(jié)當(dāng)前環(huán)境的依賴包

二、創(chuàng)建工程

Django創(chuàng)建項(xiàng)目可以借助Django提供的命令來幫助創(chuàng)建,也可以使用Pycharm創(chuàng)建,這里主要使用命令的形式創(chuàng)建

創(chuàng)建工程的命令為 ; django-admin startproject 工程名稱

執(zhí)行后會(huì)出現(xiàn)新的工程目錄

2、工程目錄說明

首先一個(gè)與項(xiàng)目同名的目錄,打開這個(gè)目錄,其中

settings.py?是項(xiàng)目的整體配置文件

urls.py?是項(xiàng)目的URL配置文件

wsgi.py?是項(xiàng)目與WSGI兼容的Web服務(wù)器入口

manage.py?是項(xiàng)目管理文件,通過它管理項(xiàng)目

三、運(yùn)行開發(fā)服務(wù)器

在開發(fā)階段,django提供了一個(gè)純python編寫的輕量級(jí)web服務(wù)器,僅在開發(fā)階段使用

運(yùn)行服務(wù)器命令如下

python?manage.py?runserver ip:端口

python?manage.py?runserver

可以不寫IP和端口,默認(rèn)IP是127.0.0.1 端口為8000

啟動(dòng)后,在瀏覽器輸入網(wǎng)站'127.0.0.0:8000'便可看到效果

注:Django默認(rèn)工作在Debug模式下,修改項(xiàng)目會(huì)自動(dòng)重啟

按下ctrl+c停止服務(wù)器

四、創(chuàng)建之應(yīng)用

在Django項(xiàng)目開發(fā)中,可以將不同的功能模塊放在不同的子應(yīng)用中,Django的視圖編寫也是放著子應(yīng)用中的

1、創(chuàng)建子應(yīng)用

python?manage.py?startapp 子應(yīng)用名稱

例如:

python?manage.py?startapp users

manage.py?是創(chuàng)建工程時(shí)自動(dòng)生成的管理文件

執(zhí)行后,在工程目錄中多出一個(gè)名為users的子目錄

2、子應(yīng)用目錄說明

admin.py?文件跟網(wǎng)站的后臺(tái)管理站點(diǎn)配置相關(guān)

apps.py?文件用于配置當(dāng)前子應(yīng)用

migrations 目錄用于存放數(shù)據(jù)庫

models.py?文件用于保存數(shù)據(jù)庫模型類

tests.py?文件用于開發(fā)測試用例

views.py?文件用于編寫Web應(yīng)用視圖

3、注冊安裝子應(yīng)用

創(chuàng)建出來的子應(yīng)用需要注冊安裝后才能使用

在項(xiàng)目的配置文件中settings.py中, INSTALLED_APPS項(xiàng)保存了工程中已經(jīng)注冊安裝的子應(yīng)用

注冊安裝子應(yīng)用的方法,將子應(yīng)用的配置信息apps.py 中的Config類添加INSTALLED_APPS列表中

五、創(chuàng)建視圖

1、創(chuàng)建視圖函數(shù)

在ueers子應(yīng)用中,在viwes.py中編寫視圖代碼。

from django.http import HttpResponse

def index(request):

? ? """

? ? index視圖

? ? :param request: 包含了請求信息的請求對象

? ? :return: 響應(yīng)對象

? ? """

? ? return HttpResponse("hello the world!")

視圖函數(shù)的第一個(gè)傳入?yún)?shù)必須定義,用于接受Django構(gòu)造的包含了請求數(shù)據(jù)的HttpRequest對象,通常名為request

視圖函數(shù)的返回值必須為一個(gè)響應(yīng)對象,可以將要返回的數(shù)據(jù)放到一個(gè)HttpResponse對象中

2、定義路由URL

在子應(yīng)用中新建一個(gè)urls.py文件用于保存該應(yīng)用的路由

在users/urls.py文件中定義路由信息

fromdjango.conf.urlsimporturlfrom.importviews# urlpatterns是被django自動(dòng)識(shí)別的路由列表變量urlpatterns=[# 每個(gè)路由信息都需要使用url函數(shù)來構(gòu)造# url(路徑, 視圖)url(r'^index/$',views.index),

在工程總路由demo/urls.py中添加子應(yīng)用的路由數(shù)據(jù)

from django.conf.urls import url, include

from django.contrib import admin

urlpatterns = [

? ? url(r'^admin/', admin.site.urls),? # django默認(rèn)包含的

? ? # 添加

? ? url(r'^users/', include('users.urls')),

]

使用include來將子應(yīng)用users里的全部路由包含進(jìn)工程路由中;

r'^users/'?決定了users子應(yīng)用的所有路由都已/users/開頭,如我們剛定義的視圖index,其最終的完整訪問路徑為/users/index/。

include函數(shù)除了可以傳遞字符串之外,也可以直接傳遞應(yīng)用的urls模塊,如

from django.conf.urls import url, include

from django.contrib import admin

import users.urls? # 先導(dǎo)入應(yīng)用的urls模塊

urlpatterns = [

? ? url(r'^admin/', admin.site.urls),

? ? # url(r'^users/', include('users.urls')),

? ? url(r'^users/', include(users.urls)),? # 添加應(yīng)用的路由

]

啟動(dòng)運(yùn)行

重新啟動(dòng)Django程序

python manage.py runserver

在瀏覽器中輸入網(wǎng)址127.0.0.1:8000/users/index/可看到返回的信息

hello the world!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容