星期日, 2月 26, 2017

Django - Hello World

創建一個全新的專案網站

#創建一個屬於 Django 的工作目錄環境
mkdir django_workspace
cd django_workspace
# demohello 是我們定義的專案名稱
django-admin startproject demohello
執行命令後,新建了一個 demohello 目錄,其中還有一個 demohello 目錄結構,如下方所示:
# demohello 是一個專案的名稱
demohello
├── manage.py
└── demohello
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

Django 目錄說明

  • manage.py
    Django 命令工具,如:新增一個應用服務、運行Server。
  • settings.py
    設定 Django 專案參數文件。
  • urls.py
    設定網址將關聯對應到哪個views.py中的一個函數。
  • views.py
    從urls.py中對應過來,處理用戶發出的請求, 透過渲染 templates 中的網頁,呈現網頁內容。
  • models.py
    設定資料庫操作相關,讀寫資料庫將會用到。
  • admin.py
    後台,可以用很少量的程式碼就擁有一個快速的後台。且可以快速新增修改與瀏覽資料庫內容。
運行 Server
python manage.py runserver
開啟瀏覽器,網址列輸入 http://127.0.0.1:8000/
運行結果:
終端機下按 ctrl+c 關閉伺服器運行。
這時如果使用瀏覽器,重新整理 http://127.0.0.1:8000/
運行結果:

創建一個應用 APP

# hello 是一個應用程式的名稱
python manage.py startapp hello 
hello 目錄結構
hello/
├── __init__.py
├── admin.py
├── models.py
├── tests.py
└── views.py

定義在此專案中新增了一個應用 APP

目前我們新增了一個應用,需定義到 settings.py裡的INSTALL_APPS 中,demohello/demohello/settings.py
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
 
    'hello',
)

定義顯示畫面內容

在 hello 這個目錄中,修改 views.py
#coding:utf-8 from django.http import HttpResponse def index(request): return HttpResponse(u"哈囉!歡迎來到Django 世界~~~")
  1. 定義編碼格式為 utf-8
  2. 匯入 HttpResponse,它是用來向網頁返回內容的,就像Python中的print 一樣,只不過HttpResponse 是把內容顯示到網頁上。
4~5.定義網址要求index 函數下,會回傳 HttpResponse內的字串資料

定義畫面的URL網址

from django.conf.urls import url from django.contrib import admin from hello import views as hello_views #加入此行 urlpatterns = [ url(r'^$', hello_views.index), #加入此行 url(r'^admin/', admin.site.urls), ]

運行

python manage.py runserver
開啟瀏覽器,網址列輸入 http://127.0.0.1:8000/
運行結果:
另外也可以設定要運行 ip或port
python manage.py runserver 0.0.0.0:8000
0.0.0.0 設定你要訪問的電腦ip位置
8000 設定你要訪問的該電腦的port

參考資料

Django 官方說明文件:Writing your first Django app, part 1

0 意見 :

張貼留言

回覆意見時,麻煩輸入一下暱稱
(隨便取個名字也好~ ^_^)
好讓我方便回覆您的問題,
選擇「名稱/網址」輸入您的暱稱,
麻煩一下,謝謝大家。

關閉廣告 [X]