連接mysql
1、安裝pymysql
操作指令 : pymsql: pip install pymysql
2、導入庫
在項目目錄下的__init__.py文件中導入pymysql模塊
加入以下兩行代碼:
import pymysql
pymysql.install_as_MySQLdb()
3、在setting中的databases中配置mysql的連接
'ENGINE': 'django.db.backends.mysql', # 設置驅動
'NAME':庫名, # 設置數據庫名
'USER':'root', # 設置用戶名
‘PASSWORD':密碼, # 設置密碼
'HOST':主機地址, # 設置主機地址
'PORT':3306, # 設置端口號
4、執行遷移
python manage.py makemigrations
python manage.py migrate
5、連接mysql數據庫
點擊database --- + -----data source ----數據庫類型(如:mysql) ----- 設置 賬號,密碼,主機,(注意: 如果對mysql設置遠程連接,
要使用遠程連接的賬號密碼) ----test connect ---- ok 即可
操作mysql
1、創建一個表
需要在model模塊中創建一個類,該類繼承models.Model
例:
-
class Person(models.Model):
-
p_name = models.CharField(max_length= 20, null=False, unique=True)
-
p_age = models.IntegerField(default= 10)
-
p_sex = models.BooleanField(default= True)
表名默認為 應用名_類名
注:在右側detabase處可以看到自己創建的表
注:在創建的類中添加
class Meta:
db_table = "表名" 修改表名
可以修改創建的表的名字
例:
-
class Person(models.Model):
-
p_name = models.CharField(max_length= 20, null=False, unique=True)
-
p_age = models.IntegerField(default= 10)
-
p_sex = models.BooleanField(default= True)
-
-
class Meta:
-
db_table = "Person"
修改完成后,執行遷移
若要修改表的字段名,則更改定義的類中的屬性之后遷移即可
2、增加一個數據
步驟:
①.創建一個對象
②.設置屬性
③.保存數據
④.對象名.save()
例:
-
from django.shortcuts import render
-
from day02.models import Person
-
import random
-
# Create your views here.
-
-
def insertPerson(request):
-
# 創建一個對象
-
person = Person()
-
-
# 設置屬性
-
person.p_name = "王" + str(random.randint(1, 100))
-
person.p_age = random.randint( 1, 100)
-
person.p_sex = random.randint( 0, 1)
-
-
# 保存數據
-
person.save()
設置url
在項目的urls中添加 url("應用名",include("應用名.urls"))
注:需import 應用名
-
from django.conf.urls import url, include
-
from django.contrib import admin
-
import day02
-
-
urlpatterns = [
-
url( r'^admin/', admin.site.urls),
-
url( r'^day02/', include(day02.urls)),
-
]
注:須在應用的目錄中創建一個urls.py文件,可以將項目中的urls中的內容復制過去
-
from django.conf.urls import url
-
from django.contrib import admin
-
-
-
urlpatterns = [
-
url( r'^admin/', admin.site.urls),
-
-
]
在應用中的urls中添加路徑
-
from django.conf.urls import url
-
from django.contrib import admin
-
from day02 import views
-
-
urlpatterns = [
-
url( r'^admin/', admin.site.urls),
-
url( r'insertPerson', views.insertPerson),
-
-
]
激活服務器,在瀏覽器中輸入地址即可成功添加數據
查看插入的表
3、刪除一個數據
用變量獲取匹配到的數據
格式:變量.delete() # 刪除數據
-
def delPerson(request):
-
person = Person.objects.filter(p_name= "王66").first() # 用變量person接收獲取到的對象
-
person.delete()
-
return HttpResponse("刪除成功")
在應用的urls中添加路徑
url(r'delPerson',views.delPerson)
激活服務器,並操作,
成功刪除
4、修改數據
格式:對象名.屬性名 = 值
對象名.save()
例:首先插入一條數據
修改數據的屬性值
-
def updatePerson(request):
-
person = Person.objects.filter(p_name= "王30").first()
-
person.p_name = "王小明"
-
person.p_age = 18
-
person.p_sex = 0
-
person.save()
-
return HttpResponse("修改成功")
在urls中添加路徑
url(r'updatePerson', views.updatePerson),
運行服務器
修改成功
5、查詢數據
格式: 類名.objects.方法
例:多插入幾條數據
在應用的views中添加代碼
-
def queryPerson(request):
-
persons = Person.objects.all()
-
return render(request, "Persons.html", context={"persons":persons})
在templates中創建Persons.html文件
-
-
<html lang="en">
-
<head>
-
<meta charset="UTF-8">
-
<title>Title</title>
-
</head>
-
<body>
-
-
<ul>
-
{% for person in persons %}
-
<li>name:{{ person.p_name }} age:{{ person.p_age }}</li>
-
{% endfor %}
-
-
</ul>
-
-
</body>
-
</html>
在urls中添加路徑
啟動服務器
成功查詢表格中的數據
注:這里只介紹了查詢所有數據的方法