運行環境:pycharm,mac,mysql,版本不過多的簡述:html
1.Django的安裝:我直接pip3 install Django,若是不能正常安裝,網上資料不少。python
2.建立Django項目,主要有2種方式:(1)pycharm界面建立,(2)Django-admin startproject 項目名: 在終端指定的文件夾建立mysql
3.建立完成項目後,進行一些基礎的配置sql
1.settings:templates文件夾的位置,通常不須要修改數據庫
2.靜態文件:django
1. STATIC_URL --> 靜態文件夾的別名(在HTML文件中用的)
2. STATICFILES_DIRS --> 靜態文件夾的真正路徑瀏覽器
例:app
STATIC_URL = '/static/' 函數
STATIC_DIRS = [
os.path.join(BASE_DIR,'static')
]
3.註釋掉csrf
4.Django鏈接數據庫的信息
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'Django',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': 'root',
}
}spa
4.views.py通常用來定義函數
1. 基本必備三件套
from django.shortcuts import HttpResponse, render, redirect
1. HttpResponse("要返回的內容") --> 一般用於直接返回數據
2. render(request, "html文件", {"k1": v1}) --> 返回一個HTML文件或者打開文件進行字符串替換
3. redirect("URL") --> 告訴用戶的瀏覽器去訪問其餘的URL
2. request相關
1. request.method --> 查看請求的方法
2. request.POST --> 獲取POST請求的數據
5.ORM的使用
類:::::數據表
對象::::數據行
屬性::::字段
功能:ORM操做數據行、數據表
Django裏的ORM的使用:
1.手動建立數據庫
2.在settings.py裏面,配置數據的鏈接信息
DATABASES= {
'default':{
'ENGINE':'django.db.backends,mysql',
'NAME':'python',
'HOST','127.0.0.1',
'USER':'',
'PASSWORD':'',
}
}
3.在項目/__init__.py告訴Django用pymysql模塊代替MySQLdb來鏈接MYSQL數據庫
import pymysql
pymysql.install_as_MySQLdb()
4.在app/models.py裏面定義類
class Publisher(models.Model):
id = models.AutoField(primary_key=True) # 自增的ID主鍵
# 建立一個varchar(64)的惟一的不爲空的字段
name = models.CharField(max_length=64, null=False, unique=True)
5.執行命令
1.python3 manage.py makemigrations -->把models.py裏面的更改記錄起來
2.python3 manage.py migrate -->把更改翻譯成SQL語句,去數據庫執行
注意:執行第5步命令的時候,檢查app是否添加到了settings裏面
建立app的命令 : python manage.py startapp xxx
6.表和表之間的關係
1.一對多(出版社和書)
publisher = models.ForeignKey(to="Publisher")
數據庫中會給publisher自動加一個id----》publisher_id
2.多對多
books = models.ManyToManyField(to="Book")
7.表單的增刪改查
1.單表的增刪改查
增
models.Publisher.objects.create("xx出版社")
查
models.Publisher.objects.get(id = 1)
models.Publisher.objects.get(name="xxx")
改
obj = models.Publisher.objects.get(id = 1)
obj.name = "xxx"
obj.save()
刪
models.Publisher.objects.get(id=1).delete()
兩個models的區別:
1.第一個是Django內置的models模塊,from django.db import models
2.第二個使咱們本身寫類的models模塊,from app01 import models
2.外鍵的增刪改查 增刪查同上 book_obj = models.Book.objects.get(id= 1) book_obj.publisher.id 和書關聯的出版社的id值 book_obj.publisher.name 和書關聯的出版社的名稱 3.多對多的操做 1.查id爲1的做者都寫過什麼書 author_obj = models.Author.objects.get(id = 1) author_obj.books.all() -- 和做者關聯的索引的書 2.想給做者綁定多本書 author_obj = models.Author.objects