Django學習--003--視圖

1.首先新建一個項目,進入想要創建項目的文件夾,使用下面命令:

django-admin.py startproject the-site

注:the-site爲項目名稱,能夠本身命名。python

2.成功後,會出現使用tree命令,會出現以下文件結構。

mysite
├── manage.py
└── mysite
    ├── __init__.py #空文件,告訴python把mysite做爲一個python模塊。
    ├── settings.py #設置和配置文件,包含初始設置文件
    ├── urls.py     #定義URL格式,每一個定義的URL經過這個文件映射到views文件
    └── wsgi.py     #配置項目做爲一個WSGI應用

注:Django 1.8.x 以上的,還有一個 migrations 文件夾。Django 1.9.x 還會在 Django 1.8 的基礎上多出一個 apps.py 文件。web

setting.py中包含基本的SQLlite數據庫配置信息和一系列默認添加的應用。咱們能夠創造在數據庫中創造表。使用如下命令:正則表達式

cd mysite
python manage.py migrate

輸入圖片說明

3.網站項目創建好後,須要新建一個APP模塊。如app.

python manage.py startapp your-app
#your-app爲你的模塊名,可本身設置

創建APP後的結構以下:數據庫

app
|-- admin.py                
|-- __init__.py
|-- migrations
|   `-- __init__.py
|-- models.py
|-- tests.py
`-- views.py

如須要多個模塊(模塊能夠理解爲項目下的子網站)能夠創建多個APP。django

4.把咱們新定義的app加到settings.py中的INSTALL_APPS中

新建的 app 若是不加到 INSTALL_APPS 中的話, django 就不能自動找到app中的模板文件(app-name/templates/下的文件)和靜態文件(app-name/static/中的文件)瀏覽器

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
 
    'your-app-name',
)

5.定義視圖函數。

打開創建的app文件下的views.py文件,修改文件代碼以下:服務器

#coding:utf-8
from django.http import HttpResponse
 
def index(request):
    return HttpResponse(u"歡迎來到Django")

1.第一行是聲明編碼爲utf-8, 由於咱們在代碼中用到了中文,若是不聲明就報錯.session

2.第二行引入HttpResponse,它是用來向網頁返回內容的,就像Python中的 print 同樣,只不過 HttpResponse 是把內容顯示到網頁上。app

3.咱們定義了一個index()函數,第一個參數必須是 request,與網頁發來的請求有關,request 變量裏面包含get或post的內容,用戶瀏覽器,系統等信息在裏面(後面會講,先了解一下就能夠)。ide

4.函數返回了一個 HttpResponse 對象,能夠通過一些處理,最終顯示幾個字到網頁上。

6.定義視圖函數相關的網址。

咱們須要訪問什麼網址才能返回咱們剛纔定義的視圖函數的結果。這是須要定義Urls.py文件

from django.conf.urls import url
from django.contrib import admin
from learn import views as learn_view   #新
 urlpatterns = [
    url(r'^$', learn_views.index),  # 新,使用的正則表達式。
    url(r'^admin/', admin.site.urls),
]

注:第三行爲新加行,Django在新版本中鼓勵使用先導入視圖文件,再去使用視圖文件中的函數的方法。

7.運行開發服務器,查看開發結果。

django是一個輕量級的web服務器,不須要花費時間配置生產信息。

在含有manage.py的文件夾下使用下面的命令。

python manage.py runserver

出現下面返回表明服務成功開啓。

$ python manage.py runserver
 
Performing system checks...
 
System check identified no issues (0 silenced).
 
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
 
December 22, 2015 - 11:57:33
Django version 1.9, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

打開瀏覽器訪問 http://127.0.0.1:8000/, 這個網址是由咱們書寫的正則表達式規定的。不一樣的正則表達式輸入的網址不一樣。

咱們還能夠運行django在特定端口,例如:

python manage.py runserver 127.0.0.1:8001 --settings = mysite.settings
相關文章
相關標籤/搜索