04 Django 視圖與網址-urls.py

Django中網址是寫在 urls.py 文件中,用正則表達式對應 views.py 中的一個函數(或者generic類),咱們用一個項目來演示。python

1、首先,新建一個項目(project)

參見03正則表達式

2、新建一個應用(app)

參見03django

完成以後的框架如圖:瀏覽器

3、參數設置

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

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'MyDjango',
]

備註:這一步是幹什麼呢? 新建的 app 若是不加到 INSTALL_APPS 中的話, django 就不能自動找到app中的模板文件(app-name/templates/下的文件)和靜態文件(app-name/static/中的文件) session

 

二、配置模板路徑

TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], #主要是這一部分 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]

 

三、配置靜態文件目錄

STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), )

 

四、定義視圖函數(訪問頁面時的內容)

把views.py打開,修改其中的源代碼app

#coding='uft-8'
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.

def index(request):
    return HttpResponse('Hello,World!')

 

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

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

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

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

五、定義視圖函數相關的URL(路由規則)

打開urls.py這個文件,修改其中的代碼

from django.conf.urls import url
from django.contrib import admin
from MyApp import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$',views.index) #new
]

 

六、其餘

①因目前暫時用不到csrf,爲避免報錯,須要在settings中,middlerware下# 註釋 csrf

 

在終端上運行 pythsettings中on manage.py runserver,咱們就能看到以下的界面

 

 

注意:若是是在另外一臺電腦上訪問要用 python manage.py ip:port 的形式,好比監聽全部ip:

python manage.py runserver 0.0.0.0:8000
 
監聽機器上全部ip 8000端口,訪問時用電腦的ip代替 127.0.0.1
相關文章
相關標籤/搜索