Django筆記一

前言:前段時間學習Django,從入門到搭建項目,花了不少時間。期間涉及的內容也不少,寫篇博客總結一下。網上已經有大量的相關的介紹、學習資料,推薦兩個比較有代表性的學習網站:自強學堂Django教程官方文檔

一、簡介

Django是一款常用的python的web開發框架,採用MVT框架。

M:表示model,負責與數據庫的交互;

V:表示view,負責請求的接受處理,返回響應;

T:表示template,負責一些html頁面,靜態文件等的渲染管理。

二、新建項目

我是在ubuntu16.04上建的項目,ubuntu自帶多個版本的python,一般我們先用virtualenv創建python虛擬環境,然後在虛擬環境中開發。

1、首先安裝好virtualenv,然後創建虛擬環境,默認命令創建的是python2的虛擬環境,我們用指定命令創建python3.5的虛擬環境,環境名稱叫h1。

mkvirtualenv  xxx   #創建虛擬環境xxx,默認是python2的虛擬環境
rmvirtualenv  xxx   #刪除虛擬環境xxx
workon    xxx       #進入虛擬環境xxx
workon  (雙擊Tab)  #顯示所有的虛擬環境
deactivate          #退出虛擬環境

mkvirtualenv -p /usr/bin/python3.5 h1   #創建基於python3.5的虛擬環境h1

 虛擬環境創建成功後有如下提示,開頭的(h1)提示已經進入虛擬環境h1中。然後輸入命令pip list可以查看當前環境中安裝的包,有三個。

2、安裝Django

上面創建的虛擬環境中只有三個包,pip、setuptools、wheel,所以我們需要安裝下django。命令如下:

pip install django          #安裝最新版本的django,現在是2.1.4
pip install django==1.8.2   #安裝指定版本的django

3、新建項目

在虛擬環境h1中輸入以下命令創建新項目,這裏項目叫mysite

django-admin startproject mysite #創建項目mysite

運行之後終端沒什麼提示,但是在當前路徑下,會生成一個叫mysite的文件夾。打開文件夾,裏面有一個同名文件夾mysite和一個manage.py文件,如下圖。

  • manage.py:一個命令行工具,可以使你用多種方式對Django項目進行交互
  • 內層的目錄:項目的真正的Python包
  • __init__.py:一個空文件,它告訴Python這個目錄應該被看做一個Python包
  • settings.py:項目的配置
  • urls.py:項目的URL聲明
  • wsgi.py:項目與WSGI兼容的Web服務器入口

4、新建app

 上面新建了項目,但是隻有一些基本的配置文件。我們要開始實現功能,需要在app中開發。一個app可以理解爲一個功能模塊,負責一類的功能。先cd到manage.py所在文件夾,在終端輸入如下命令:

python manage.py startapp  app1   #創建名爲app1的app

完成後,在mysite目錄下多了一個app1文件夾,目錄結構如下:

  • admin.py:django自帶一個後臺管理admin,在這個文件裏你可以設置你要在後臺管理的模型累類
  • apps.py:django的一個配置文件
  • __init__.py:同上
  • migrations:數據庫遷移文件保存在其中
  • models:在這裏創建模型類
  • test.py:測試用文件
  • views.py:用於接收請求並且處理返回,主要的業務邏輯都在這個文件中實現

 生成app後,還需要在setting.py文件中設置,把app1加入到INSTALLED_APPS中:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app1'      #加入
]

5、views函數構造

打開views.py文件,構造響應函數index,返回值爲字符串‘Hello World!’。

from django.shortcuts import render
from django.shortcuts import HttpResponse  #引用HttpResponse

# Create your views here.
def index(request):
  	return HttpResponse('Hello World!')   #返回響應

 6、配置url

在mysite文件夾下的url.py中先引用views文件,再添加路徑

from django.contrib import admin
from django.urls import path
from app1 import views   #引用views文件
urlpatterns = [
    path('admin/', admin.site.urls),
    path('',views.index)        #當有請求訪問根目錄時,調用views.index函數處理請求
]

7、運行當前項目

cd到項目根目錄下,終端輸入命令 python manage.py runserver 運行當前項目。出現以下提示表示運行成功,項目運行在本地8000端口,按住ctrl鼠標單擊http://127.0.0.1:8000/可以直接打開瀏覽器訪問。ctrl+c退出服務。你也可以指定運行的端口號,比如8002端口,python manage.py runserver 8002 。

 到此一個簡單的web服務就完成了。

 

                                                           歡迎關注個人公衆號!

                                    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章