開始著手第一個(gè)Django項(xiàng)目
一但你安裝好了python,django和(可選的)數(shù)據(jù)庫及相關(guān)庫,你就可以通過創(chuàng)建一個(gè)project,邁出開發(fā)django應(yīng)用的第一步。
項(xiàng)目 是 Django 實(shí)例的一系列設(shè)置的集合,它包括數(shù)據(jù)庫配置、Django 特定選項(xiàng)以及應(yīng)用程序的特定設(shè)置。
如果第一次使用 Django,必須進(jìn)行一些初始化設(shè)置工作。 新建一個(gè)工作目錄,例如 /home/username/djcode/ ,然后進(jìn)入該目錄。
這個(gè)目錄應(yīng)該放哪兒?
有過 PHP 編程背景的話,你可能習(xí)慣于將代碼都放在 Web 服務(wù)器的文檔根目錄 (例如 /var/www 這樣的地方)。 而在 Django 中,把任何Python代碼和web server的文檔根(root)放在一起并不是一個(gè)好主意。因?yàn)檫@樣做有使人能通過網(wǎng)路看到你原代碼的風(fēng)險(xiǎn). 那就太糟了。
把代碼放置在文檔根目錄 之外 的某些目錄中。
轉(zhuǎn)到你創(chuàng)建的目錄,運(yùn)行命令django-admin.py startproject mysite。這樣會(huì)在你的當(dāng)前目錄下創(chuàng)建一個(gè)目錄。mysite
注意
如果用的是 setup.py 工具安裝的 Django , django-admin.py 應(yīng)該已被加入了系統(tǒng)路徑中。
如果你使用一個(gè)trunk版本,你會(huì)在 djtrunk/django/bin 下發(fā)現(xiàn) django-admin.py 。你將來會(huì)常用到django-admin.py,考慮把它加到你的系統(tǒng)路徑中去比較好。 在Unix中, 你也可以用來自/usr/local/bin 的符號(hào)連接, 用一個(gè)命令, 諸如
sudo ln -s /path/to/django/bin/django-admin.py /usr/local/bin/django-admin.py
. 在Windows中, 你需要修改你的 PATH 環(huán)境變量.
如果你的django是從linux發(fā)行版中安裝的,那么,常會(huì)被django-admin.py替代。django-admin
如果在運(yùn)行時(shí),你看到權(quán)限拒絕的提示,你應(yīng)當(dāng)修改這個(gè)文件的權(quán)限。django-admin.py startproject 為此, 鍵入 cd /usr/local/bin轉(zhuǎn)到django-admin.py所在的目錄,運(yùn)行命令chmod +x django-admin.py
startproject 命令創(chuàng)建一個(gè)目錄,包含4個(gè)文件:
mysite/ __init__.py manage.py settings.py urls.py
文件如下:
- __init__.py :讓 Python 把該目錄當(dāng)成一個(gè)開發(fā)包 (即一組模塊)所需的文件。 這是一個(gè)空文件,一般你不需要修改它。
- manage.py :一種命令行工具,允許你以多種方式與該 Django 項(xiàng)目進(jìn)行交互。 鍵入python manage.py help,看一下它能做什么。 你應(yīng)當(dāng)不需要編輯這個(gè)文件;在這個(gè)目錄下生成它純是為了方便。
- settings.py :該 Django 項(xiàng)目的設(shè)置或配置。 查看并理解這個(gè)文件中可用的設(shè)置類型及其默認(rèn)值。
- urls.py:Django項(xiàng)目的URL設(shè)置。 可視其為你的django網(wǎng)站的目錄。 目前,它是空的。
盡管這些的文件很小,但這些文件已經(jīng)構(gòu)成了一個(gè)可運(yùn)行的Django應(yīng)用。
運(yùn)行開發(fā)服務(wù)器
為了安裝后更多的體驗(yàn),讓我們運(yùn)行一下django開發(fā)服務(wù)器看看我們的準(zhǔn)系統(tǒng)。
django開發(fā)服務(wù)是可用在開發(fā)期間的,一個(gè)內(nèi)建的,輕量的web服務(wù)。 我們提供這個(gè)服務(wù)器是為了讓你快速開發(fā)站點(diǎn),也就是說在準(zhǔn)備發(fā)布產(chǎn)品之前,無需進(jìn)行產(chǎn)品級(jí) Web 服務(wù)器(比如 Apache)的配置工作。 開發(fā)服務(wù)器監(jiān)測(cè)你的代碼并自動(dòng)加載它,這樣你會(huì)很容易修改代碼而不用重啟動(dòng)服務(wù)。
如果你還沒啟動(dòng)服務(wù)器的話,請(qǐng)切換到你的項(xiàng)目目錄里 (cd mysite ),運(yùn)行下面的命令:
python manage.py runserver
你會(huì)看到些像這樣的
Validating models... 0 errors found. Django version 1.0, using settings 'mysite.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
這將會(huì)在端口8000啟動(dòng)一個(gè)本地服務(wù)器, 并且只能從你的這臺(tái)電腦連接和訪問。 既然服務(wù)器已經(jīng)運(yùn)行起來了,現(xiàn)在用網(wǎng)頁瀏覽器訪問 http://127.0.0.1:8000/ 。 你應(yīng)該可以看到一個(gè)令人賞心悅目的淡藍(lán)色Django歡迎頁面。 它開始工作了。
在進(jìn)一步學(xué)習(xí)之前, 一個(gè)重要的,關(guān)于開發(fā)網(wǎng)絡(luò)服務(wù)器的提示很值得一說。 雖然 django 自帶的這個(gè) web 服務(wù)器對(duì)于開發(fā)很方便,但是,千萬不要在正式的應(yīng)用布署環(huán)境中使用它。 在同一時(shí)間,該服務(wù)器只能可靠地處理一次單個(gè)請(qǐng)求,并且沒有進(jìn)行任何類型的安全審計(jì)。 發(fā)布站點(diǎn)前,請(qǐng)參閱第 20 章了解如何部署 Django 。
更改這個(gè) Development Server 的主機(jī)地址或端口
默認(rèn)情況下, runserver 命令在 8000 端口啟動(dòng)開發(fā)服務(wù)器,且僅監(jiān)聽本地連接。 要想要更改服務(wù)器端口的話,可將端口作為命令行參數(shù)傳入:
python manage.py runserver 8080
通過指定一個(gè) IP 地址,你可以告訴服務(wù)器–允許非本地連接訪問。 如果你想和其他開發(fā)人員共享同一開發(fā)站點(diǎn)的話,該功能特別有用。 `` 0.0.0.0`` 這個(gè) IP 地址,告訴服務(wù)器去偵聽任意的網(wǎng)絡(luò)接口。
python manage.py runserver 0.0.0.0:8000
完成這些設(shè)置后,你本地網(wǎng)絡(luò)中的其它計(jì)算機(jī)就可以在瀏覽器中訪問你的 IP 地址了。比如: http://192.168.1.103:8000/ . (注意,你將需要校閱一下你的網(wǎng)絡(luò)配置來決定你在本地網(wǎng)絡(luò)中的IP 地址) Unix用戶可以在命令提示符中輸入ifconfig來獲取以上信息。 使用Windows的用戶,請(qǐng)嘗試使用 ipconfig 命令。
- Django網(wǎng)絡(luò)框架之HelloDjango項(xiàng)目創(chuàng)建教程
- 使用PyCharm創(chuàng)建Django項(xiàng)目及基本配置詳解
- ubuntu16.04在python3 下創(chuàng)建Django項(xiàng)目并運(yùn)行的操作方法
- python使用Pycharm創(chuàng)建一個(gè)Django項(xiàng)目
- Django在Win7下的安裝及創(chuàng)建項(xiàng)目hello word簡明教程
- Python之Web框架Django項(xiàng)目搭建全過程
- 對(duì)Python的Django框架中的項(xiàng)目進(jìn)行單元測(cè)試的方法
- 運(yùn)行django項(xiàng)目指定IP和端口的方法
- 創(chuàng)建Django項(xiàng)目圖文實(shí)例詳解
相關(guān)文章
Python實(shí)現(xiàn)上下文管理器的示例代碼
這篇文章主要為大家詳細(xì)介紹了Python中實(shí)現(xiàn)上下文管理器的具體方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-07-07Python趣味挑戰(zhàn)之用pygame實(shí)現(xiàn)飛機(jī)塔防游戲
一步步實(shí)現(xiàn)有趣的飛機(jī)塔防游戲,有興趣了解一下嗎?文中有非常詳細(xì)的代碼示例,對(duì)喜歡玩游戲的小伙伴們很有幫助哦,需要的朋友可以參考下2021-05-05