根据django book的教程用startproject创建了一个mysite文件夹,但有所不同的是mysite文件夹里面竟然还有个mysite文件夹,这是怎么回事啊?那views.py是放一级文件夹还是二级文件夹里啊?
根据django book的教程用startproject创建了一个mysite文件夹,但有所不同的是mysite文件夹里面竟然还有个mysite文件夹,这是怎么回事啊?那views.py是放一级文件夹还是二级文件夹里啊?
views.py 可以放在下層 mysite
(專案主目錄) 中, 但多數時候, 我們會把它放在 APP 的目錄下面。
以下補充摘自 It's Django
安裝好 Django 之後,我們可以在命令列下使用命令 django-admin.py
來建置 Django 的專案:
$ django-admin.py startproject mysite
你會發現在當前目錄下,新增了一個叫做mysite
的子目錄,該目錄的結構如下
mysite/
├── manage.py
`── mysite
├── __init__.py
├── settings.py
├── urls.py
`── wsgi.py
各檔案的簡單描述如下:
檔案 | 描述 |
---|---|
manage.py | Python命令搞,提供了使用者能方便管理專案的功能,包含建置app、啟動server/shell等 |
mysite | 是該專案的主目錄,包含了重要的設定檔和RootURLConf(根URL配置檔) |
__init.py__ |
一個空檔,但使得該目錄(較下層的mysite)成為一個Python package. |
settings.py | 本專案的設定檔 |
urls.py | URL的根配置檔 |
wsgi.py | 網頁伺服器與Django應用介接檔案,可以視為Django的進入點 |
接著我們使用manage.py來啟動Django中自建的簡單server,將web運行起來
$ python manage.py runserver
接著在瀏覽器網址列中使用URL:http://127.0.0.1:8000,就可以在本地端看到成功運行的網頁了
在Django的世界裡,有兩個不同層級的架構,一個是專案(project),一個是應用程式(app),專案本身包含了Django的操作命令稿manage.py
和一個主要目錄(包括設定檔跟根URL設定等),我們的確可以只利用project就完成我們的網站應用,但大多數的時候,我們需要app。在前面的章節裡,我們提到app是一個可插拔的元件,Django中有內建了許多方便的app,而我們也可以自行建立app,不僅可供當下的專案使用,之後也可安裝到任何一個需要他的專案裡。
建置app的方式如下:
$ python manage.py startapp restaurants
然後我們來檢視一下現在整個專案的結構:
mysite/
├── manage.py
├── mysite
│ └── ...(略)
├── templates
│ ├── math.html
│ └── menu.html
└── restaurants
├── __init__.py
├── admin.py
├── migrations (django1.7之後的版本才會包含此資料夾, 主要放置資料庫migration的記錄)
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
各檔案說明如下:
檔案 | 描述 |
---|---|
__init__.py | 使得該目錄成為一個Python套件(所以一個app其實就是一個Python套件) |
admin.py | 若使用Django管理後台的話,可在此註冊模型 |
models.py | application中的模型檔 |
tests.py | application中的測試可寫在此 |
views.py | application中的視圖檔 |
我回答過的問題: Python-QA
4 回答4.5k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
查看django book,结构如下:
views.py是要放在二级文件夹mysite内,models.py, urls.py或者package包也可以
也要放在里面。