# Django 建構_20241008 ## 建構步驟 1. 建立資料夾,用 VScode 開啟 2. 建構虛擬環境 ``` python3 -m venv django_venv // django_venv 是虛擬環境名稱,可自行命名 ``` 進入虛擬環境 macOS ``` source django_venv/bin/activate // django_venv 是虛擬環境名稱 ``` 進入虛擬環境 Windows ``` django_venv\Scripts\Activate // django_venv 是虛擬環境名稱 ``` 退出虛擬環境 ``` deactivate ``` 3. 建構 django 環境 ``` pip install django ``` 檢查版本 ``` python3 -m django --version ``` 4. 建構 django project ``` django-admin startproject djangoTest // djangoTest 是 project 名稱,可自行命名 ``` 移動至該資料夾內 ``` cd djangoTest // djangoTest 是 project 名稱 ``` 5. 執行 ``` python3 manage.py runserver ``` 進入下方顯示的"http://127.0.0.1:8000/" 顯示 django 網頁即表示成功 ## first with html 新增一個 templates 資料夾,與 manage.py 同層 新增 hello.html ```htmlembedded= <!DOCTYPE html> <html> <head> <title>I come from template!!</title> <style> body { background-color: lightyellow; } em { color: LightSeaGreen; } </style> </head> <body> <h1>Hello World!</h1> <em>{{ current_time }}</em> </body> </html> ``` 新增一個 app ``` python manage.py startapp myapp //myapp 是 app 名字,可自己命名 ``` project/setting.py 新增 app 名稱 ```python= INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', ] ``` project/setting.py 新增 templates 設定 ```python= import os TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates').replace('\\', '/')], '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', ], }, }, ] ``` app 中 views.py ```python= from django.shortcuts import render from datetime import datetime #新增 datetime 的功能 # Create your views here. def hello(request): return render(request, 'hello.html', { 'current_time': str(datetime.now()), #呼叫回傳 }) ``` app 中 urls.py ```python= from myapp import views urlpatterns = [ path('', views.hello, name='hello'), ] # '' 是指原網址後加什麼會到 views(myapp) 中的 hello func 所指導的頁面(hello.html) ``` ``` ❯ python3 manage.py runserver ```