Django學習(一)---基本配置及創建項目、應用
安裝:在Django官網下載最新版Django然後通過pip安裝即可
一、創建項目
進入文件夾,打開cmd窗口,輸入django-admin startproject myblog(項目名)
二、創建應用
1.打開命令行,進入項目中manage.py同級目錄
2.命令行輸入:python manage.py startapp blog(應用名)
3.添加應用名到settings.py中的INSTALLED_APPS裏
三、新建視圖
編輯應用blog目錄下的views.py文件如下:
from django.shortcuts import render # Create your views here.from django.http import HttpResponse # 引入HttpResponse,用來向網頁返回內容 def index(request): # 定義的函數第一個參數必須是request,resquest變量裏包含了get和post方式 return HttpResponse(u‘Hello World‘)
函數返回了一個 HttpResponse 對象,可以經過一些處理,最終顯示"Hello World"到網頁上。
註意:每個請求對應一個函數,函數必須返回一個響應
函數必須存在一個參數,一般約定為request
每個相應(函數)對應一個URL
四、為頁面配置URL路由
編輯項目myblog目錄下的urls.py文件如下:
from django.conf.urls import url from django.contrib import admin from blog import views as Hello_views urlpatterns = [ url(r‘^admin/‘, admin.site.urls), url(r‘^blog/$‘,Hello_views.index) ]
註意:每個URL都以url的形式寫出來
url函數存放在urlpatterns列表中
url函數有3個參數:URL(正則),對應方法,名稱(可省略)
啟動:通過命令行進入項目myblog同級目錄,輸入python manage.py runserver啟動,打開瀏覽器輸入url即可,默認為 http://127.0.0.1:8000/index
五、
1.創建完項目後的目錄結構為:
myblog ├── manage.py └── myblog ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py
新建了一個 myblog 目錄後,其中還有一個 myblog 目錄,這個子目錄 myblog 中是一些項目的設置settings.py 文件,總的urls配置文件urls.py 以及部署服務器時用到的 wsgi.py 文件,__init__.py是python包的目錄結構必須的,與調用有關。
2.創建應用app後的目錄結構為:
blog/ ├── __init__.py ├── admin.py ├── models.py ├── tests.py └── views.py
3.Django中幾個項目文件的作用:
1)urls.py
網址入口,關聯到對應的views.py中的一個函數(或者generic類),訪問網址就對應一個函數。
2) models.py
數據模塊,使用ORM模塊,與數據庫操作相關,存入或讀取數據時用到這個,用不到數據庫時可以不使用。
3)forms.py
表單,用戶在瀏覽器上輸入數據提交,對數據的驗證工作以及輸入框的生成等工作,也可以不使用。
4) templates 文件夾
views.py 中的函數渲染templates中的Html模板,得到動態內容的網頁,可以用緩存來提高速度。
5) admin.py
後臺,可以用很少量的代碼就擁有一個強大的後臺。
6) settings.py
Django 的設置,配置文件,比如 DEBUG 的開關,靜態文件的位置等。
7) migrations
數據移植(遷移)模塊
8)apps.py
該應用的一些配置,自動生成的
9) test.py
自動化測試模塊,Django提供自動化測試的功能,在這裏編寫測試語句
10) views.py
執行響應的代碼所在模塊,代碼邏輯處理的主要地點,項目中大多數代碼寫在這裏
六、第二種URL配置方法
當項目比較龐大時,如果所有的url都在根urls.py中配置的話,會比較繁雜,出現命名沖突等問題,不利於維護,
所有可以在每個app中單獨配置url。
1.
在項目根目錄下的 urls.py中引入include
url方法中加入include(‘blog.urls’)
from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r‘^admin/‘, admin.site.urls), url(r‘‘, include(‘blog.urls‘)), ]
2.在app目錄下創建urls.py文件 格式和根urls.py相同
import blog.views 文件
url方法加入views.test函數
from django.conf.urls import url from blog import views as Hello_views urlpatterns = [ url(r‘^index/$‘, Hello_views.index), ]
註意:
根urls.py針對app配置的URL名稱,是該app所有URL的總路徑(如:上面的路徑為http://127.0.0.1:8000/index/)
即匹配的路徑為根urls.py中的正則加上app下urls.py中的正則
配置URL註意正則表達式結尾符號$和/
Django學習(一)---基本配置及創建項目、應用