建立專案
-
在終端機中下達指令建立一個新的專案
django-admin.py startproject mysite
打完指令後,會產生一個 mysite
的資料夾
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
-
修改 mysite/mysite/settings.py
,設定伺服器資料與時區。
ALLOWED_HOSTS = ['*']
TIME_ZONE = 'Asia/Taipei'
-
啟動 django
cd mysite
python manage.py runserver 0.0.0.0:80
-
在終端機會看到以下的訊息
-
開啟瀏覽器,在網址列輸入http://localhost/
,主機會回應 Django 網站畫面如下:
建立應用程式
我們要建立一個圖文展示的應用程式,在終端機按Ctrl+C中止網站服務,並在命令提示模式下執行以下指令。
python manage.py startapp show
下了這個指令後,會在 mysite
底下新增一個 show
資料夾,檔案結構如下:
mysite/
manage.py
mysite/
show/
migrations/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
修改 mysite/mysite/settings.py
以註冊應用程式,新增第 8 行:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'show',
)
要完成一個可以回應給使用者的畫面,需要有兩個步驟:
-
設定網址(urls.py
)
打開 mysite/mysite/urls.py
裡面已有的設定如下:
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
新增第 3, 7 行:
from django.contrib import admin
from django.urls import path
from show import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.homepage),
]
-
撰寫視圖函式(views.py
)
打開 mysite/show/views.py
修改為以下程式碼:
from django.shortcuts import render
from django.http import HttpResponse
def homepage(request):
return HttpResponse('歡迎光臨魏小良的網站')
在終端機輸入以下指令以執行網站服務:
python manage.py runserver 0.0.0.0:80
然後在瀏覽器的網址列中輸入 http://localhost/
來測試你的網站,應該會看到這行訊息:
使用模版
-
在 mysite
專案資料夾下建立模版目錄 templates
,新增後整個專案的資料夾結構應該如下(省略 mysite
, show
等子資料夾的內容):
mysite/
manage.py
mysite/
show/
templates/
-
修改 mysite/mysite/settings.py
第 58 行:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['templates',],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
-
在模版目錄中建立網頁模版 index.html
<html>
<head>
</head>
<body>
歡迎光臨我的網站
</body>
</html>
-
修改 mysite/show/views.py
from django.shortcuts import render_to_response
def homepage(request):
return render_to_response('index.html')
餐廳網站
-
建立靜態圖片目錄 mysite/static/images
,並修改專案設定檔 mysite/mysite/settings.py
來指定靜態檔案的存放路徑。請新增第 123-125 行:
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
-
上傳圖片到 mysite/static/images/
資料夾內。
圖片 |
檔名 |
|
food1.png |
|
food2.png |
|
food3.png |
-
修改 mysite/template/index.html
第 5-8 行:
<html>
<head>
</head>
<body>
歡迎光臨我的網站<BR>
<a href="/food/1">1號餐<BR>
<a href="/food/2">2號餐<BR>
<a href="/food/3">3號餐<BR>
</body>
</html>
-
修改 mysite/mysite/urls.py
第 8 行:
from django.contrib import admin
from django.urls import path
from show import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.homepage),
path('food/<int:kind>/', views.food),
]
-
打開 mysite/show/views.py
,修改為以下程式碼:
from django.shortcuts import render_to_response
def homepage(request):
return render_to_response('index.html')
def food(request, kind):
return render_to_response('food.html', {'kind':kind})
-
新增 mysite/templates/food.html
<html>
<head>
</head>
<body>
您點的是{{kind}}號餐<BR>
<img src="/static/images/food{{kind}}.png">
</body>
</html>
建立專案
在終端機中下達指令建立一個新的專案
打完指令後,會產生一個
mysite
的資料夾修改
mysite/mysite/settings.py
,設定伺服器資料與時區。啟動 django
在終端機會看到以下的訊息
開啟瀏覽器,在網址列輸入
http://localhost/
,主機會回應 Django 網站畫面如下:建立應用程式
我們要建立一個圖文展示的應用程式,在終端機按Ctrl+C中止網站服務,並在命令提示模式下執行以下指令。
下了這個指令後,會在
mysite
底下新增一個show
資料夾,檔案結構如下:修改
mysite/mysite/settings.py
以註冊應用程式,新增第 8 行:要完成一個可以回應給使用者的畫面,需要有兩個步驟:
設定網址(
urls.py
)打開
mysite/mysite/urls.py
裡面已有的設定如下:新增第 3, 7 行:
撰寫視圖函式(
views.py
)打開
mysite/show/views.py
修改為以下程式碼:在終端機輸入以下指令以執行網站服務:
然後在瀏覽器的網址列中輸入
http://localhost/
來測試你的網站,應該會看到這行訊息:使用模版
在
mysite
專案資料夾下建立模版目錄templates
,新增後整個專案的資料夾結構應該如下(省略mysite
,show
等子資料夾的內容):修改
mysite/mysite/settings.py
第 58 行:在模版目錄中建立網頁模版
index.html
修改
mysite/show/views.py
餐廳網站
建立靜態圖片目錄
mysite/static/images
,並修改專案設定檔mysite/mysite/settings.py
來指定靜態檔案的存放路徑。請新增第 123-125 行:上傳圖片到
mysite/static/images/
資料夾內。修改
mysite/template/index.html
第 5-8 行:修改
mysite/mysite/urls.py
第 8 行:打開
mysite/show/views.py
,修改為以下程式碼:新增
mysite/templates/food.html