Writing your first Django app, part 1

查看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. 創建應用

發佈了35 篇原創文章 · 獲贊 7 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章