學(xué)Django需要什么基礎(chǔ)
1.Django是python語言寫的一個Web框架包,所以你得知道一些Python基礎(chǔ)知識。
2.其次你最好有一些做網(wǎng)站的經(jīng)驗(yàn),懂一些網(wǎng)頁HTML,CSS,JavaScript的知識。
沒有經(jīng)驗(yàn)也沒有關(guān)系,慢慢來就好了,你一定可以學(xué)會,Django很簡單!
Django 特點(diǎn)
強(qiáng)大的數(shù)據(jù)庫功能
? ? ? 用python的類繼承,幾行代碼就可以擁有一個豐富,動態(tài)的數(shù)據(jù)庫操作接口(API),如果需要你也能執(zhí)行SQL語句
自帶的強(qiáng)大的后臺功能
? ? ? 幾行簡單的代碼就讓你的網(wǎng)站擁有一個強(qiáng)大的后臺,輕松管理你的內(nèi)容!
優(yōu)雅的網(wǎng)址
? ? ? 用正則匹配網(wǎng)址,傳遞到對應(yīng)函數(shù),隨意定義,如你所想!
模板系統(tǒng)
? ? ? 強(qiáng)大,易擴(kuò)展的模板系統(tǒng),設(shè)計(jì)簡易,代碼,樣式分開設(shè)計(jì),更容易管理。
緩存系統(tǒng)
? ? ?與memcached或其它的緩存系統(tǒng)聯(lián)用,更出色的表現(xiàn),更快的加載速度。
國際化
? ?完全支持多語言應(yīng)用,允許你定義翻譯的字符,輕松翻譯成不同國家的語言。
Django 中提供了開發(fā)網(wǎng)站經(jīng)常用到的模塊,常見的代碼都為你寫好了,通過減少重復(fù)的代碼,Django 使你能夠?qū)W⒂?web 應(yīng)用上有 趣的關(guān)鍵性的東西。為了達(dá)到這個目標(biāo),Django 提供了通用Web開發(fā)模式的高度抽象,提供了頻繁進(jìn)行的編程作業(yè)的快速解決方法,以及為“如何解決問題”提供了清晰明了的約定。Django的理念是DRY(Don't Repeat Yourself)來鼓勵快速開發(fā)!
讓我們一覽 Django 全貌
urls.py
? ? ?網(wǎng)址入口,關(guān)聯(lián)到對應(yīng)的views.py中的一個函數(shù)(或者generic類),訪問網(wǎng)址就對應(yīng)一個函數(shù)。
views.py
? ? ? 處理用戶發(fā)出的請求,從urls.py中對應(yīng)過來,通過渲染templates中的網(wǎng)頁可以將顯示內(nèi)容,比如登陸后的用戶名,用戶請求的數(shù)據(jù),輸出到網(wǎng)頁。
models.py
與數(shù)據(jù)庫操作相關(guān),存入或讀取數(shù)據(jù)時用到這個,當(dāng)然用不到數(shù)據(jù)庫的時候你可以不使用。
forms.py
? ?表單,用戶在瀏覽器上輸入數(shù)據(jù)提交,對數(shù)據(jù)的驗(yàn)證工作以及輸入框的生成等工作,當(dāng)然你也可以不使用。
templates
? ?文件夾
views.py
? ? views.py中的函數(shù)渲染templates中的Html模板,得到動態(tài)內(nèi)容的網(wǎng)頁,當(dāng)然可以用緩存來提高速度。
admin.py
? ? ?后臺,可以用很少量的代碼就擁有一個強(qiáng)大的后臺。
settings.py
? ? ?Django的設(shè)置,配置文件,比如DEBUG的開關(guān),靜態(tài)文件的位置等。
版本選擇
下載Django
Option1:Getthe latest official version【正式版本】
Thelatest official version is1.11.5.Readthe1.11.5release notes,then install it with pip:
pip installDjango==1.11.5
Option2:Getthe latest development version【開發(fā)版本】
Thelatest and greatestDjangoversion is the one that’s in ourGitrepository(our revision-control system).
Thisis onlyforexperienced users who want totryincoming changes and help identify bugs
before an official release.Getit usingthisshell command,which requiresGit:
git clone https://github.com/django/django.git
Youcan also download a gzipped tarball of the development version.【壓縮版】
https://github.com/django/django/archive/master.tar.gz
Thisarchive is updated every time we commit code.
檢查是否安裝成功
C:\Users\Administrator>python
Python3.6.1(v3.6.1:69c0db5,Mar212017,18:41:36)[MSC v.190064bit(AMD64)]
on win32
Type"help","copyright","credits"or"license"formore information.
>>>importdjango
>>>django.VERSION
(1,11,5,'final',0)
>>>django.get_version()
'1.11.5'
>>>
搭建多個互不干擾的開發(fā)環(huán)境
開發(fā)會用 virtualenv 來管理多個開發(fā)環(huán)境,virtualenvwrapper 使得virtualenv變得更好用
#安裝:
(sudo)pip install virtualenv virtualenvwrapper
Linux/Mac OSX 下:
修改~/.bash_profile或其它環(huán)境變量相關(guān)文件(如 .bashrc 或用 ZSH 之后的 .zshrc),添加以下語句
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source/usr/local/bin/virtualenvwrapper.sh
修改后使之立即生效(也可以重啟終端使之生效):
source~/.bash_profile
Windows 下:
#using pip【安裝】
pip install virtualenvwrapper-win這就不必說了注意后面-win
#默認(rèn)虛擬環(huán)境安裝位置及修改方法
【可選】Windows下默認(rèn)虛擬環(huán)境是放在用戶名下面的Envs中的,與桌面,我的文檔,下載等文件夾在一塊的。
更改方法:計(jì)算機(jī),屬性,高級系統(tǒng)設(shè)置,環(huán)境變量,添加WORKON_HOME,
如下(windows10環(huán)境變量設(shè)置):
Optional:Addanenvironmentvariable WORKON_HOME to specify the path tostoreenvironments.
Bydefault,thisis%USERPROFILE%\Envs.
AS lguananut said,you are asking how to set anenvironment variable.TakeWin7as example,
executecommand"sysdm.cpl"
GotoAdvanced tab,open"EnviromentVariables..."
Newasystem variable
Inpopwindow,set variable name=WORKON_HOME,value=[your virtual environments root]
relaunch one command prompt,all commands like mkvirtualenv,workon will works.
在windows里自己設(shè)置一個環(huán)境變量叫WORKON_HOME,注意設(shè)置完要重新開一個cmd,然后...成功了。
然后就是使用了,其實(shí)使用非常簡單,也是說他好用的原因。
使用方法
mkvirtualenv?創(chuàng)建虛擬環(huán)境
Createanewvirtualenv environment named.Theenvironment will be created in WORKON_HOME.
lsvirtualenv 列出已有虛擬環(huán)境
Listall of the enviornments stored in WORKON_HOME.
rmvirtualenv?刪除
Removethe environment.Usesfolder_delete.bat.
workon[] 開啟哪一個工作
workon zqxt:工作在zqxt環(huán)境或從其它環(huán)境切換到zqxt環(huán)境
Ifisspecified,activate the environment named(change the working virtualenv to).
Ifa project directory has been defined,we will change into it.
Ifno argument is specified,list the available environments.
Onecan pass additional option-c after virtualenv name to cd to virtualenv directoryifno projectdir is set.
deactivate關(guān)閉【退出終端環(huán)境】
Deactivatethe working virtualenv andswitchback to thedefaultsystemPython.
add2virtualenv未知,貌似是改成可移植環(huán)境,不確定,暫時沒用到。
Ifa virtualenv environment is active,
appendstovirtualenv_path_extensions.pthinside the environment’s site-packages,
which effectively addsto the environment’s PYTHONPATH.
Ifa virtualenv environment is not active,appendstovirtualenv_path_extensions.
pthinside thedefaultPython’s site-packages.Ifdoesn’t exist,it will be created.
rmvirtualenv ENV:刪除運(yùn)行環(huán)境ENV
mkproject mic:創(chuàng)建mic項(xiàng)目和運(yùn)行環(huán)境mic
mktmpenv:創(chuàng)建臨時運(yùn)行環(huán)境
lssitepackages:列出當(dāng)前環(huán)境安裝了的包
創(chuàng)建的環(huán)境是獨(dú)立的,互不干擾,無需sudo權(quán)限即可使用pip來進(jìn)行包的管理。
參考來源: http://code.ziqiangxuetang.com/django/django-tutorial.html
參考來源: https://www.djangoproject.com/download/
參考來源:http://www.itdecent.cn/p/dcfe4cab4933