本文学习Django Web数据库操作
这里使用sqlite进行操作,在settings.py中进行配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
Mysql配置参考:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangoblog',
'USER': 'root',
'PASSWORD': 'password',
'HOST': 'host IP address',
'PORT': 3306,
}
}
数据库链接工具推荐:Navicat 或DBeaver(支持sqlite)
定义模型
创建 APP
Django规定,如果要使用模型,必须要创建一个app。
django-admin startapp TestApp
我们修改 TestApp/models.py 文件,代码如下:
from django.db import models
class Test(models.Model):
name = models.CharField(max_length=20)
接下来在settings.py中找到INSTALLED_APPS这一项,如下:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'TestApp', # 添加此项
)
在命令行中运行:
$ python manage.py migrate # 创建表结构
$ python manage.py makemigrations # 让 Django 知道我们在我们的模型有一些变更
$ python manage.py migrate # 创建表结构
在主目录的urls中添加
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from TestApp import views
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^addname$', views.addname),
]
数据库操作
添加数据
添加数据需要先创建对象,然后再执行 save 函数,相当于SQL中的INSERT
在TestApp中新建views.py, 配置如下:
from django.http import HttpResponse
from TestApp.models import Test
def addname(request):
test1 = Test(name='Tom')
test1.save()
return HttpResponse("<p>数据添加成功!</p>")
浏览器访问
显示 数据添加成功!
Django Web路由分发
修改代码,添加路由分发功能:
主文件urls.py, 添加include
from django.contrib import admin
from django.urls import path, include
from django.conf.urls import url
from FirstWeb import view
urlpatterns = [
path('admin/', admin.site.urls),
url('hello', view.hello),
url(r'^person/', include("TestApp.urls")),
]
在TestApp中新建urls
from django.conf.urls import url
from TestApp import views
urlpatterns = [
url(r'^addname$', views.addname),
]
浏览器访问:
http://127.0.0.1:8000/person/addname
也可以达到添加用户的功能。