2019-12-19 Django 3.0 Tutorial 01

举报
Mark Chen 发表于 2019/12/19 12:08:04 2019/12/19
【摘要】 今天根據官網教程的第一課,https://docs.djangoproject.com/en/3.0/intro/tutorial01/, 寫下個人幾年來使用 Django 的心得。 開始給自己每天一篇的功課。 曾經在一個小群裡,同學問到 火箭升空的首頁為什麼在 polls app 之後就不見了? 火箭升空的代碼到底在裡? 能不能建一個頁面讓火箭升空重現?

2019-12-19 Django 3.0 Tutorial 01

參考文檔: https://docs.djangoproject.com/en/3.0/intro/tutorial01/

1. Prepare a virtual environment

  • Python 3.6

  • Django 3.0

2. Create a new project

  • django-admin startproject mysite

           

       

3. Run development server

  • ./manage.py runserver

           

           


           

  • 1576729965400591.png

4. Create the Polls app

  • ./manage.py startapp polls

           

       

5. Write the first view

  • polls/views.py

  • polls/urls.py

  • mysite/urls.py



1. Prepare a virtual environment

和官網教程, https://docs.djangoproject.com/en/3.0/intro/tutorial01/,著眼不同, 我們會一開始就在 Python 虛擬環境操作 。
這部份可以參考 https://tutorial.djangogirls.org/en/django_installation/ ,和其它視頻教程。
官網要專心在Django的部份,我們要同時考慮到開發及部署的正確有效的工作習慣。


在 Mac 環境啟動虛擬環境並安裝Django

python3 -m venv venv
source venv/bin/activate
pip install django



2. Create a new project

在版本 3.0 增加了 mysite/asgi.py, 這是 mysite/wsgi.py 的進階版,是部署到正式環境的時候用的。

如果我們用 mysite 為項目名稱,系統會自動創建同名的 mysite 兩層目錄。   外層是可以更改,例如有三個項目分別進行,可以改命為site001,site002,site003。   內層的目錄,實做上是不建議改命,不是不能改,而是要併同改好幾個地方,可以自行實驗,但實做時簡單不要改,避開無謂的部署困擾。


3. Run development server

啟動開發用的服務器非常方便,雖然和正式環境有些微差異,夠用的。 這個開發用的服務器是不能用來當正式環境的服務器的,其中一個原因就是不預期的錯誤會讓服務器跳機,這特性在開發時很有用,但是不適合在正式運行的環境。


4. Create the Polls app

官網強調 mysite 是 project, polls 是 app。 我們遵循這種叫法。 根據實做經驗,有時候為了方便複製整個 app 的 templates,urls 和 views等等。 也會直接一檔案夾的方式直接複製改名,例如複製整個 polls 為 polls2。 這時候要立即同時更改幾個地方, 包括

  • apps.py Config class 名稱本身和其 name 值。

  • urls.py 的 app_name 值。


5. Write the first view

在這第一課,清楚提到幾個要點,

  • 第一是以 mysite 為名所創建的項目,其網址根目錄設置就是在 mysite/urls.py。

  • 第二是 view 可以直接顯示網頁內容,儘管大多數情況我們會用 templates。


6. 擴展

曾經在一個小群裡,同學問到

  • 火箭升空的首頁為什麼在 polls app 之後就不見了?

  • 火箭升空的代碼到底在裡?

  • 能不能建一個頁面讓火箭升空重現?

為了要先保持七節的入門教程優先進行,我會在七節課後單獨一節來回答如上的類似提問。



1576730034267276.png

1576730034445369.png

1576730034148742.png


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。