那就來看指南玩翻譯吧,反正 Django 2.0 的指南教程 也沒人中文化過 XD
來使用範例來學習吧
透過這個指南,能夠引導我們完成建立基本的輪詢應用程式
(poll application, 後面遇到polls我都翻譯成應用程式好了,意指 app)
主要由二個部分組成:
- 一個公開的網站能夠讓人們看應用程式並對它投票
- 一個管理站能夠讓你增加、變更跟刪除應用程式
假設已經安裝好了 Django 的話,可以在 shell 提示符號下執行以下命令(前綴符號$)來告訴我們 Django 已經安裝以及哪一個版本
$ python -m django --version如果安裝了 Django,會看到安裝的版本;如果沒有的話會顯示 "No module named django" 的錯誤訊息。
本指南只支援 Django 2.0 以後的版本,且只支援 python 3.4 或是更晚的版本。import djangoprint(django.get_version())
如果 Django 版本不符的話(就是你是1.X舊版的),請將 Django 版本更新(但是語法都改了突然更新...)。使用舊版本 python 的話,可以檢查我可以在 Django 中使用那些 Python 版本?可以找到相容的 Django版本。
請參閱如何安裝 Django 來獲得有關如何移除教舊版本的 Django 並安裝較新版本的建議。
接下來巴拉巴哈的部分就交給想看中文的朋友,我只想簡潔的講了
創建一個項目(project)
django-admin startproject mysite這個部分就是會自動生成一個基礎 Django 項目
需要注意的是內部的套件命名上必須要避開相同類似 django 本身名稱的命名,這個是與 Django 相衝,另外套件命名 test 之類的是與 python 相衝。
在舊有PHP習慣(不使用現代框架)的人可能習慣將代碼放置於 /var/www 底下。使用 Django 的話不用這樣做,因為將這些 Python 代碼放在 Web 伺服器文件檔跟目錄中不是一個好主意,因為有可能使其他人透過 Web 查看代碼,安全性不高。
建議將代碼放在跟目錄之外的目錄中,例如 /home/mycode
基礎建構好的 Django 經過 startproject 會建立目錄跟檔案如下
mysite/ ←裝根目錄的資料夾,名稱與 Django 無關,可以重新命名為其他名稱
manage.py ←命令程序單元,可以讓你跟 Django 項目進行任何溝通,更多資訊
mysite/ ←內部的mysite目錄是實際上項目的 Python 封包處,它的名稱是 Python 封包名稱時需要的導入到任何內部需要的名稱。
__init__.py ←空文件但向宣告 Python 是一個目錄並被認為是一個 Python 封包,如果是一個 Python 初學者,可以閱讀官方 Python 文件中有關於軟體包更多資訊。
settings.py ←這個 Django 的設定(settings)與設置(configuration)
urls.py ←Django 項目的 URL 聲明設定,支援 Django 站點的目錄。更多資訊
wsgi.py ←相容 WSGI 伺服器的項目入口點。更多資訊
manage.py ←命令程序單元,可以讓你跟 Django 項目進行任何溝通,更多資訊
mysite/ ←內部的mysite目錄是實際上項目的 Python 封包處,它的名稱是 Python 封包名稱時需要的導入到任何內部需要的名稱。
__init__.py ←空文件但向宣告 Python 是一個目錄並被認為是一個 Python 封包,如果是一個 Python 初學者,可以閱讀官方 Python 文件中有關於軟體包更多資訊。
settings.py ←這個 Django 的設定(settings)與設置(configuration)
urls.py ←Django 項目的 URL 聲明設定,支援 Django 站點的目錄。更多資訊
wsgi.py ←相容 WSGI 伺服器的項目入口點。更多資訊
開發用的伺服器
可以使用指令python manage.py runserver來開啟測試伺服器,預設是 127.0.0.1:8000 或 localhost:8000
也可改變測試通通訊埠(注音ㄅㄨˋ,同步),如需要8080通訊埠,則輸入
python manage.py runserver 8080
另外如果有修改 python 代碼的話,不需要重新啟動伺服器使其生效。但是如果是新加入檔案文件的話由於不會觸發重新啟動,需要自行手動操作。
停止伺服器使用 ctrl + d
建立應用程式(Polls app)
使用指令建立python manage.py startapp polls這樣會建立一個基礎佈局如下
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
urls.py
views.py
編寫第一個 view
編輯polls/view.pyfrom django.http import HttpResponse編輯polls/urls.py(沒有就新建,這個在新建的應用程式底下)
def index(request):
return HttpResponse("Hello, World again. It`s 5th to try play.")
from django.urls import path完成後編輯mysite/ruls.py (這是第二個)
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
from django.urls import include, path其中提到 include 是除了admin.site.urls之外比較建議使用的
from django.contrib import admin
urlpatterns = [
path('hello/', include('polls.urls')),
path('admin/', admin.site.urls),
]
這樣應該就能夠真正完成了第一個 Django 的 APP 了
不過我還在跟 pythonanywhere的環境奮戰中,編輯後仍顯示排斥...(?)
後面有進度在發出來
用了一點暴力的手段,現在是強制 python 3.6 + Django 2.0 了
測試之後,除了根目錄無法顯示
Page not found (404)
起因大概是因為沒有指定
但是卻是能夠正常看到hello網址裡下的東西沒錯
但是這樣還是沒有解答我的問題
沒有留言:
張貼留言