查看Django版本
$ python -m django --version
創建項目
cd 到工作目錄,執行以下命令
$ django-admin startproject mysite
startproject目錄結構如下
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
- 外部mysite/ 項目名稱,可以修改(不重要)
- manage.py:命令行程序與Django項目進行交互
- 內部mysite/ 存放項目文件的目錄
- mysite/init.py: 聲明該目錄(mysite)是一個python包
- mysite/settings.py:Django項目的配置文件
- mysite/urls.py:管理URL的文件,相當於網站目錄
- mysite/wsgi.py:WSGI web服務文件
開發服務器
cd外部mysite目錄下
# 啓動服務
$ python manage.py runserver
$ python manage.py runserver 9000
$ python manage.py runserver 0:9000
$ python manage.py runserver ip:port # 可以進行Http訪問
開發服務器根據需要自動爲每個請求重新加載Python代碼。您不需要重新啓動服務器以使代碼更改生效。但是,一些操作(如添加文件)不會觸發重新啓動,因此在這些情況下您必須重新啓動服務器。
根據提示訪問即可
1、2 可以直接訪問
3、4 需要在mysite/settings.py 中添加ip地址
ALLOWED_HOSTS = [
'ip',
'localhost',
'127.0.0.1',
]
實際訪問時,localhost=/=127.0.0.1,兩種訪問方式需要都添加到ALLOWED_HOSTS中纔可以正常訪問
創建投票應用程序
將在manage.py 文件旁邊創建投票應用程序,以便它可以作爲自己的頂級模塊導入,而不是子模塊mysite。
確保與manage.py位於同一目錄,鍵入以下命令
$ python manage.py startapp polls
應用結構
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
編寫第一個視圖
polls/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello World. You're at the polls index.")
polls/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
將polls/views.py 中 index() 註冊到 polls/urls.py
url()函數傳遞四個參數,兩個必需:regex和view,和兩個可選:kwargs,和name。
mysite/urls.py
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^polls/', include('polls.urls')),
url(r'^admin/', admin.site.urls),
]
將應用polls/urls.py 註冊到項目 mysite/urls.py中
當包含其他網址時使用include() (URL patterns)
$ python manage.py runserver
瀏覽器中訪問http://localhost:9000/polls/
總結
命令 | 用途 |
---|---|
python manage.py runserver ip:port | 啓動服務 |
python manage.py startapp appname | 創建應用 |
流程:
1. 創建項目
2. 創建應用