一、目錄
''' 1.環境 *** 2.項目的創建 - 介紹 *** 3.應用的創建 - 介紹 *** 4.Django請求的生命周期(路由介紹,響應,頁面,重定向)***** 5.Mysql交互 **** '''
二、Django項目的創建與介紹
''' 安裝:pip3 install django==1.11.x 查看版本號:django-admin --version 新建項目:1.前往目標目錄 2.django-admin startproject proj_name proj_name:項目目錄,包含項目最基本的一些配置 -- __init__.py:模塊的配置文件 -- settings.py:配置總文件 -- urls.py:url配置文件,django項目中的所有頁面都需要對其配置url地址 -- wsgi.py:(web server gateway interface),服務器網關接口,python應用與web服務器直接通信的接口 templates:模板文件夾,存放html文件的(頁面),支持使用Django模板語言(DTL),也可以使用第三方(jinja2) manage.py:項目管理器,與項目交互的命令行工具集的入口,查看支持的所有命令python3 manage.py '''
三、應用的創建與介紹
''' 1.Django是面向應用開發,在應用中完成具體的業務邏輯 2.什么是應用app: 就好比項目中的一個功能模塊,一個項目可以擁有多個功能模塊,但至少得有一個,Django稱之為app 3.如何創建app(在項目目錄下):python3 manage.py startapp app01 migrations:數據遷移(移植)模塊,內容都是由Django自動生成 -- __init__.py __init__.py admin.py:應用的后台管理系統配置 apps.py:django 1.9后,本應用的相關配置 models.py:數據模型模塊,使用ORM框架,類似於MVC模式下的Model層 tests.py:自動化測試模塊,可以寫自動化測試腳本 views.py:執行相應的邏輯代碼模塊 '''
四、啟動項目
# 終端: python3 manage.py runserver 127.0.0.1:8801
五、pycharm創建啟動項目
''' 1.創建Django 2.選擇項目目錄(從項目目錄開始,目錄文件夾及子文件夾不要出現中文,保證電腦名字不能為中文) 3.配置默認模板語言,模板路徑,app名 4.啟動 '''
六、生命周期
''' 1.瀏覽器發送請求 2.wsgi服務器接收到請求,將請求解析交給Django 3.Django中間件過濾請求信息,交給路由 4.路由完成業務邏輯的分發,到指定app下views中指定的視圖函數 5.視圖函數完成具體的業務邏輯,返回響應結果 6.將處理結果通過服務器返回給瀏覽器 '''
七、三件套
from django.shortcuts import HttpResponse, render, redirect def action1(request): return HttpResponse("基礎信息") def action2(request): return render(request, 'template_page.html', {k:v}) def action3(request): return redirect('/index/')
八、靜態文件
''' 1.在settings.py中配置 STATIC_URL = '/static/' # 靜態文件請求根路由 STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static') # 靜態文件檢索的文件夾 ] 2.在項目根目錄下創建static文件夾 3.靜態文件就放在static根目錄或子目錄下 4.獲取靜態文件:/static/目標文件(可以包含static子文件夾路徑) '''
九、請求及數據
''' 請求路徑: 1.空着:默認向當前路徑發送請求 2.http://127.0.0.1:8801/testAction/:向testAction路徑發送請求 3./testAction/: 向testAction路徑發送請求(推薦) 在視圖函數中 請求方式:request.method GET請求獲取數據:request.GET.get('key', None) # 當key不存在,用None替換 POST請求獲取數據:request.POST.get('key', None) # 當key不存在,用None替換 '''
十、配置Mysql完成數據遷移
''' 1.在settings.py配置Mysql數據庫信息 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dg2', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', 'PASSWORD': 'root' } } 2.在項目或應用的init文件中修改連接數據庫的模塊為pymysql import pymysql pymysql.install_as_MySQLdb() 3.在項目目錄下,執行(生成遷移數據,沒有映射到數據庫):python3 manage.py makemigrations 4.將遷移數據映射到數據庫:python3 manage.py migrate '''
十一、單表ORM記錄的增刪改查
''' # 增 User.objects.create(usr='abc', pwd='123') # 第一種方式 user = User(usr='owen', pwd='123') user.save() # 第二種方式 # 刪 User.objects.filter(id=1).delete() # 改 User.objects.filter(pwd='123').update(pwd='000') # 查 User.objects.filter(pwd='000').all() User.objects.filter(pwd='000').first() '''