首页 > 关于django的问题?

关于django的问题?

根据django book的教程用startproject创建了一个mysite文件夹,但有所不同的是mysite文件夹里面竟然还有个mysite文件夹,这是怎么回事啊?那views.py是放一级文件夹还是二级文件夹里啊?


创建project后,一般接着创建app,views.py放在app里面


查看django book,结构如下:

。mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

views.py是要放在二级文件夹mysite内,models.py, urls.py或者package包也可以
也要放在里面。


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

【热门文章】
【热门文章】