Django開發(fā)環(huán)境以及項(xiàng)目與App

二、開發(fā)環(huán)境和Django安裝

1.開發(fā)環(huán)境

Python3.4.1

Django1.7.1

Bootstrap3.3.0 or Pure? #一種前端框架,寫網(wǎng)頁(yè)用的。

Sublime Text 3? #代碼編輯器

virtualenv? 1.11.6? #一個(gè)用來(lái)創(chuàng)建獨(dú)立的Python環(huán)境的包

關(guān)于模塊與包:包是為了避免模塊重名而將模塊放入的一個(gè)目錄

https://www.liaoxuefeng.com/wiki/001374

2.Git安裝

Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)

Mac下git安裝

$ brew install git #brew 是Mac下軟件包管理工具,與apt使用相似

Ubuntu下git安裝

$ sudo apt-get install git

3.Github創(chuàng)建

4.Django安裝

安裝最新版的Django版本

#安裝最新版本的Django

$ pip install? django

?#或者指定安裝版本

pip install -v django==1.7.1

?# pip是Python包管理工具,用于下載安裝python包等等

5.Bootstrap安裝

bootstrap已經(jīng)有較為完善的中文文檔, 可以在bootstrap中文網(wǎng)查看

推薦下載其中的Bootstrap源碼

三、項(xiàng)目和APP

1.項(xiàng)目創(chuàng)建

創(chuàng)建一個(gè)名為my_blog的Django項(xiàng)目

首先需要把django-admin.py添加到我們的環(huán)境變量當(dāng)中去。django-admin.py 的位置位于/usr/local/lib/python2.7/dist-packages/django/bin 當(dāng)中。在命令行中輸入:

sudo vim /etc/environment

在PATH =之后加上':/usr/local/lib/python2.7/dist-packages/django/bin'

之后保存并退出。

#關(guān)于環(huán)境變量:將Django的目錄放入環(huán)境變量,終端才可以執(zhí)行Django命令

#補(bǔ)充的linux目錄規(guī)劃:

/bin 二進(jìn)制可執(zhí)行命令

/dev 設(shè)備特殊文件

/etc 系統(tǒng)管理和配置文件

/etc/rc.d 啟動(dòng)的配置文件和腳本

/home 用戶主目錄的基點(diǎn),比如用戶user的主目錄就是/home/user,可以用~user表示

/lib 標(biāo)準(zhǔn)程序設(shè)計(jì)庫(kù),又叫動(dòng)態(tài)鏈接共享庫(kù),作用類似windows里的.dll文件

/sbin 系統(tǒng)管理命令,這里存放的是系統(tǒng)管理員使用的管理程序

/tmp 公用的臨時(shí)文件存儲(chǔ)點(diǎn)

/root 系統(tǒng)管理員的主目錄(呵呵,特權(quán)階級(jí))

/mnt 系統(tǒng)提供這個(gè)目錄是讓用戶臨時(shí)掛載其他的文件系統(tǒng)。

/lost+found 這個(gè)目錄平時(shí)是空的,系統(tǒng)非正常關(guān)機(jī)而留下“無(wú)家可歸”的文件(windows下叫什么.chk)就在這里

/proc 虛擬的目錄,是系統(tǒng)內(nèi)存的映射。可直接訪問這個(gè)目錄來(lái)獲取系統(tǒng)信  息。

/var 某些大文件的溢出區(qū),比方說(shuō)各種服務(wù)的日志文件

/usr 最龐大的目錄,要用到的應(yīng)用程序和文件幾乎都在這個(gè)目錄。其中包  含:

/usr/X11R6 存放X window的目錄

/usr/bin 眾多的應(yīng)用程序

/usr/sbin 超級(jí)用戶的一些管理程序

/usr/doc linux文檔

/usr/include linux下開發(fā)和編譯應(yīng)用程序所需要的頭文件

/usr/lib 常用的動(dòng)態(tài)鏈接庫(kù)和軟件包的配置文件

/usr/man 幫助文檔

/usr/src 源代碼,linux內(nèi)核的源代碼就放在/usr/src/linux里

/usr/local/bin 本地增加的命令

/usr/local/lib 本地增加的庫(kù)


之后創(chuàng)建Django項(xiàng)目,先創(chuàng)建一個(gè)文件夾,在文件夾中輸入如下指令:

$ django-admin.py startproject my_blog

現(xiàn)在來(lái)看一下整個(gè)項(xiàng)目的文件結(jié)構(gòu)

$ sudo apt-get install tree$ tree my_blog#打印樹形文件結(jié)構(gòu)

my_blog

├── manage.py

└── my_blog? ??

? ? ? ? ? ? ?├── __init__.py? ??

? ? ? ? ? ? ?├── settings.py? ??

? ? ? ? ? ? ?├── urls.py? ??

? ? ? ? ? ? ?└── wsgi.py1directory,5files


#鏈接為Django官方中文文檔

外層的my_blog根目錄僅僅是項(xiàng)目的一個(gè)容器。它的命名對(duì)Django無(wú)關(guān)緊要;你可以把它重新命名為任何你喜歡的名字。

內(nèi)層的mysite/目錄是你的項(xiàng)目的真正的Python包。它是你導(dǎo)入任何東西時(shí)將需要使用的Python包的名字(例如mysite.urls)。

manage.py:一個(gè)命令行工具,可以使你用多種方式對(duì)Django項(xiàng)目進(jìn)行交互。

mysite/__init__.py:一個(gè)空文件,它告訴Python這個(gè)目錄應(yīng)該被看做一個(gè)Python包。

mysite/settings.py:該Django 項(xiàng)目的設(shè)置/配置。

mysite/urls.py:該Django項(xiàng)目的URL聲明;你的Django站點(diǎn)的“目錄”。

mysite/wsgi.py:用于你的項(xiàng)目的與WSGI兼容的Web服務(wù)器入口。

2.建立Django app

在Django中的app我認(rèn)為就是一個(gè)功能模塊, 與其他的web框架可能有很大的區(qū)別, 將不能功能放在不同的app中, 方便代碼的復(fù)用

建立一個(gè)article app

$ cd my_blog

$ python manage.py startapp article

現(xiàn)在讓我們重新看一下整個(gè)項(xiàng)目的結(jié)構(gòu)

并在my_blog/my_blog/settings.py下添加新建app

INSTALLED_APPS= (? ? ...'article',#這里填寫的是app的名稱)

INSTALLED_APPS設(shè)置保存這個(gè)Django實(shí)例中激活的所有的Django應(yīng)用的名字。應(yīng)用可以在多個(gè)項(xiàng)目中使用,而且你可以將這些應(yīng)用打包和分發(fā)給其他人在他們的項(xiàng)目中使用。

django.contrib.admin—— 管理站點(diǎn)。

django.contrib.auth—— 認(rèn)證系統(tǒng)。

django.contrib.contenttypes—— 用于內(nèi)容類型的框架。

django.contrib.sessions—— 會(huì)話框架。

django.contrib.messages—— 消息框架。

django.contrib.staticfiles—— 管理靜態(tài)文件的框架。

3.運(yùn)行程序

$ python manage.py runserver localhost:9000 #啟動(dòng)Django中的開發(fā)服務(wù)器?

#如果運(yùn)行上面命令出現(xiàn)以下提示

You have unapplied migrations; your app maynotwork properlyuntilthey are applied.Run'python manage.py migrate'to apply them

.#請(qǐng)先使用下面命令

python manage.py migrate

上面的部分應(yīng)用至少需要使用一個(gè)數(shù)據(jù)庫(kù)表,因此我們需要在使用它們之前先在數(shù)據(jù)庫(kù)中創(chuàng)建相應(yīng)的表。

migrate查看INSTALLED_APPS設(shè)置并根據(jù)mysite/settings.py文件中的數(shù)據(jù)庫(kù)設(shè)置創(chuàng)建任何必要的數(shù)據(jù)庫(kù)表,數(shù)據(jù)庫(kù)的遷移還會(huì)跟蹤應(yīng)用的變化(我們稍后會(huì)講到)。你會(huì)看到對(duì)每次遷移有一條信息。

#輸出如下信息

Operations to perform:?

Apply allmigrations:contenttypes, sessions, admin, auto Running migrations:

Applying contenttypes.0001_initial... OK??

Applying auth.0001_initial... OK??

Applying admin.0001_initial... OK??

Applying sessions.0001_initial... OK

運(yùn)行成功后,會(huì)顯示如下信息

#重新運(yùn)行啟動(dòng)Django中的開發(fā)服務(wù)器$ python manage.py runserverlocalhost:9000#運(yùn)行成功顯示如下信息System check identified no issues (0silenced).December21,2014- 08:56:00Django version1.7.1, using settings'my_blog.settings'Starting development server athttp://localhost:9000/Quit the server with CONTROL-C.

現(xiàn)在可以啟動(dòng)瀏覽器, 輸入http://localhost:9000, 當(dāng)出現(xiàn)

成功

說(shuō)明你成功走出了第一步!

四、命令總結(jié)


python manage.py [options] <command> #Django Command?

python manange.py -h幫助文檔

django-admin.py startproject my_blog #創(chuàng)建項(xiàng)目

python manage.py startapp article#創(chuàng)建app

python manage.py runserver localhost:9000 #啟動(dòng)Django中的開發(fā)服務(wù)器

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容