學(xué)Django需要什么基礎(chǔ)
1.Django是python語言寫的一個Web框架包裕照,所以你得知道一些Python基礎(chǔ)知識囤耳。
2.其次你最好有一些做網(wǎng)站的經(jīng)驗,懂一些網(wǎng)頁HTML,CSS,JavaScript的知識思杯。
沒有經(jīng)驗也沒有關(guān)系惠猿,慢慢來就好了德玫,你一定可以學(xué)會边锁,Django很簡單!
Django 特點
強大的數(shù)據(jù)庫功能
? ? ? 用python的類繼承窍奋,幾行代碼就可以擁有一個豐富,動態(tài)的數(shù)據(jù)庫操作接口(API)酱畅,如果需要你也能執(zhí)行SQL語句
自帶的強大的后臺功能
? ? ? 幾行簡單的代碼就讓你的網(wǎng)站擁有一個強大的后臺琳袄,輕松管理你的內(nèi)容!
優(yōu)雅的網(wǎng)址
? ? ? 用正則匹配網(wǎng)址圣贸,傳遞到對應(yīng)函數(shù)挚歧,隨意定義,如你所想吁峻!
模板系統(tǒng)
? ? ? 強大滑负,易擴展的模板系統(tǒng),設(shè)計簡易用含,代碼矮慕,樣式分開設(shè)計,更容易管理啄骇。
緩存系統(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)鍵性的東西顾画。為了達到這個目標(biāo)取劫,Django 提供了通用Web開發(fā)模式的高度抽象,提供了頻繁進行的編程作業(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ù)的驗證工作以及輸入框的生成等工作宪萄,當(dāng)然你也可以不使用。
templates
? ?文件夾
views.py
? ? views.py中的函數(shù)渲染templates中的Html模板榨惰,得到動態(tài)內(nèi)容的網(wǎng)頁拜英,當(dāng)然可以用緩存來提高速度。
admin.py
? ? ?后臺琅催,可以用很少量的代碼就擁有一個強大的后臺居凶。
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中的,與桌面,我的文檔替饿,下載等文件夾在一塊的语泽。
更改方法:計算機,屬性盛垦,高級系統(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蔬充,然后...成功了蝶俱。
然后就是使用了,其實使用非常簡單饥漫,也是說他好用的原因榨呆。
使用方法
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:刪除運行環(huán)境ENV
mkproject mic:創(chuàng)建mic項目和運行環(huán)境mic
mktmpenv:創(chuàng)建臨時運行環(huán)境
lssitepackages:列出當(dāng)前環(huán)境安裝了的包
創(chuàng)建的環(huán)境是獨立的彻消,互不干擾竿拆,無需sudo權(quán)限即可使用pip來進行包的管理宾尚。
參考來源: http://code.ziqiangxuetang.com/django/django-tutorial.html
參考來源: https://www.djangoproject.com/download/
參考來源:http://www.reibang.com/p/dcfe4cab4933