Django的下載安裝以及實現一個簡單示
- 2020 年 1 月 20 日
- 筆記
一.Django下載安裝
1. 下載Django:
pip3 install django==1.11.9 (大的版本1.11不要錯)
2.創建一個django project

輸入命令: django-admin startproject mysite (創建了一個名字叫mysite的django項目)
注意: pip下載下來的django就理解成一個模塊,而不是django項目,這個模塊可以幫助我們創建django項目

.manage.py ——- django項目裡邊的工具,通過它可以調用django shell 和數據庫,關閉啟動項目與項目的交互等,不管你將框架分了幾個文件,必然有一個啟動文件,其實他們本身就是一個文件.
.settings.py ——- 包含了項目的默認設置,包括數據庫信息,調試標誌以及其他一些工作的變量.
.urls.py ——- 負責把URL模式映射到應用程序.
.wsgi ——- runserver命令就使用wsgiref模塊做簡單的web server,後面會看到renserver命令,所有與socket相關的內容都在這個文件裏面.
Python manage.py runserver 127.0.0.1:8000 #此時可以啟動django項目了,只不過什麼邏輯 也沒有.
3.在mysite目錄下創建應用
python manage.py startapp blog #通過執行manage.py文件來創建應用,執行這句話一定要注意, 你應該在這個manage.py的文件所在目錄下執行這句話,因為其他目錄裏面沒有這個文件 python manage.py startapp blog2 #每個應用都有自己的目錄, 每個應用的目錄下都有自己的views.py視圖函數和models.py數據庫操作相關的文件

我們現在只需要看其中的兩個文件
models.py : 之前我們寫的那個名為model的文件就是創建表用的,這個文件就是存放與該app(應用)相關的表結構
views.py : 存放與該app相關的視圖函數的
4. 啟動django項目
Python manage.py runserver 8080 #Python manage.py runserver 127.0.0.1:8080, 本機就不用寫IP地址了 如果連端口都沒有寫,默認是本機的8000端口
這樣我們的django就啟動起來了!當我們訪問:http://127.0.0.1:8080/時就可以看到:

二. 基於Django實現的一個簡單的實例
現在實現一個用戶輸入一個timer路徑,返回一個含有當前時間的頁面,想想怎麼做?用戶輸入網址–>路徑–>函數–>返回數據(文件)
URL控制器 (第一步就找它)
from django.contrib import admin from django.urls import path #找對應的函數,是哪個app裏面的函數 from app01 import views urlpatterns = [ path('admin/', admin.site.urls), #這個先不用管,後面會學 path('index/',views.index), ] #'index/' 表示文件所在的路徑 views.index 是views裡邊的index函數方法
視圖(views)
from django.shortcuts import render,HttpResponse # Create your views here. #邏輯和返回數據 def index(request): import datetime now=datetime.datetime.now() ctime=now.strftime("%Y-%m-%d %X") return render(request,"index.html",{"ctime":ctime}) #render,渲染html頁面文件 並返回給瀏覽器 想在瀏覽器頁面上顯示什麼就要寫成字典然後寫在render裏面
templates(存放頁面html文件的)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h4>當前時間:{{ ctime }}</h4> </body> </html> #渲染的時候要用兩層花括號才能識別
通過pycharm來運行項目:

看控制台:

執行效果如下:

配置啟動的端口:


在settings配置文件裏面有關於templates(放html文件的配置):
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')] #有些版本的django沒有寫這個, 自己寫一下,就是配置一個django找html文件的路徑,render方法就來這裡找html文件 , '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', ], }, }, ]
post請求的時候有時會發現Forbidden錯誤

現在只需要做一步,在settings配置文件裏面將這一行注釋掉,這是django給你加的一個
csrf的認證
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', # 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]