or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
Django 網站開發
課程簡介與目標
網頁運作原理
一個網頁在運作時,主要有三項參與其中:
流程:

Django 基本介紹
誰使用 Django ?
Top 10 sites built with Django Framework:Instagram, Mozilla Firefox, Pinterest, NASA …
Django 特點
–> Models –> Views –> Templates –> Browser
Step00:搭建 python3 虛擬環境
新建 Django 專案資料夾
在 Django 專案資料夾中,建立 python3 虛擬環境
啟動虛擬環境
Step01:在 python3 虛擬環境下,安裝 Django
下載與安裝 Django
pip install Django==1.9.10
pip install Django
pip freeze
檢查當前的 Django 版本在本關卡中會學習到什麼
Step1:建立 Django の project
project 與 apps
把一個 project 專案 想像成 一個網站
Step2:Project 參數設定介紹
編輯 settings.py
為 project 建立專屬資料庫
python manage.py migrate
建立app
python manage.py startapp chia_app
Step3:製作網頁的第一步:利用 Django 生成靜態網頁
在本關卡中會學習到什麼
先不跟 database 做互動,只做單純的展示功能。資料寫死在 HTML 中。
建立一個簡單的靜態網頁
Url Dispatcher - 如何解析使用者於瀏覽器輸入的 url
urls.py
^
: 以什麼為開頭$
: 以什麼為結尾.
: 任意字元+
: 一個字元以上?
: 是否有某個字元出現都可以\d
: 數字()
: 擷取符合的 patternpython manage.py runserver
–-> http://127.0.0.1 網頁伺服器現在搭建在"本機端localhost的電腦"
–-> :8000/ 由於本機端裝有各式各樣的應用,這邊就必須指定其中一個入口(專門給 Django 使用)
python manage.py runserver 8001
127.0.0.1:8001/admin
Url Dispatcher and View - Django 如何根據 url 指派正確的 view 程式運行
urls.py
[方法一] 效能好
[方法二] 效能差一點,因為 Django 需要另外去解析
views.py
Views and Templates - 用 Django 生成靜態網頁
views.py
settings.py
static 資料夾 - 裝飾網頁
擺放位置
urls.py
views.py
修改路徑 index.html
[方法一] (寫死的方式)
[方法二] (有彈性的方式)
Step4:利用 Django 製作動態網頁 –- 以記帳本網頁應用程式為例
在本關卡中會學習到什麼
Model - 操作資料庫結構
models.py
元組 tuple:可以視為不可改變的串列
Python 的編碼
示範專案用到的 Model field types:
models.CharField
: varcharmodels.IntegerField
: intmodels.DateField
: datemodels.ForeignKey
: foreign keyForeignKey 的 on_delete 參數:
Model - 操作資料庫的版本控制 - migrations 資料夾
python manage.py makemigrations [app]
python manage.py migrate [chia_app]
python manage.py migrate [chia_app] [migrate version(0001_initial -->想要退回的版本名稱)]
操作網頁 後台管理介面
建立 Super user 帳號、密碼
python manage.py createsuperuser
帳號:admin
密碼:@@12345678
python manage.py runserver
admin.py
進入後台管理介面
在models.py中定義,將後台管理介面的英文顯示,變成中文
Django ORM 語法 – 操作資料庫中的資料
MTV 協作 - 使用資料庫內的動態資料渲染網頁
修改 index.html
urls.py
index.html
{{ variable }}
{% tag %}
處理邏輯的部份views.py
Step5:Template - 模版繼承避免重複的 HTML code
base.html
index.html
Step6:製作 settings.html 設定的頁面
chia_app 底下的 urls.py
views.py
settings.html
Form - 利用 HTML 表單與網頁產生互動
settings.html
urls.py
views.py
Step7:Form - 利用 Django 表單物件替代 HTML 表單(使用 ModelForm)
chia_app 底下新增 forms.py
index.html
dashboard.css
views.py
補充:跳出月曆,選擇日期
views.py
index.html
myproject_test 底下的 urls.py
Step8:使用者登入與登出
views.py
myproject_test 中的 urls.py
新增 registration 資料夾,並放入 login.html
login.html
myproject_test 底下新增 views.py
Step9:挑戰關卡-使用者專屬內容
Step10:上傳專案到github、部署專案至Python anywhere