文章目录
- 一、Django项目
- 1.安装django
- 2.创建项目
- 3.文件描述
- 4.创建app
- 5.测试
- 二、操作数据库
- 1.安装mysqlclient
- 2.setting.py文件中设置连接信息
- 3.创建表操作
- (1)python manage.py makemigrations
- (2)python manage.py migrate
- 4.增删改查测试
- (1)在views.py中新加增删改查四个接口
- (2)在urls.py中新加接口路径
- (3)启动项目,页面测试
一、Django项目
1.安装django
pip install django
https://blog.csdn.net/weixin_45404884/article/details/139650316
安装完成后目录下会多一个django-admin.exe
2.创建项目
两种方式
(1)利用django-admin.exe创建
- 打开终端
- 进入某个目录
- 执行命令创建项目
django-admin.exe startproject DjangoProject
桌面下会创建一个DjangoProject项目
前提是 c:\python\Scripts 已加入环境系统环境变量。
(2)pycharm创建
3.文件描述
- manage.py 【项目的管理,启动项目、创建app、数据管理】
- settings.py 【项目配置】
- urls.py 【URL和函数的对应关系】
- asgi.py 【接收网络请求】
- wsgi.py 【接收网络请求】
4.创建app
- admin.py django默认提供了admin后台管理。
- apps.py app启动类
- migrations 数据库变更记录
- models.py 对数据库操作。
- tests.py 单元测试
- views.py 函数。
5.测试
- views.py新加函数代码
from django.shortcuts import render, HttpResponse
# Create your views here.
def test(request):
return HttpResponse("Hello World")
- urls.py新加接口路径
from django.contrib import admin
from django.urls import path
from app01 import views
urlpatterns = [
path('admin/', admin.site.urls),
path('test/', views.test)
]
- 测试结果
二、操作数据库
1.安装mysqlclient
pip install mysqlclient
2.setting.py文件中设置连接信息
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test', # 数据库名字
'USER': 'root',
'PASSWORD': 'root',
'HOST': '127.0.0.1', # 那台机器安装了MySQL
'PORT': 3306,
}
}
3.创建表操作
在models.py文件中进行操作
表示创建userInfo表结构,包括name、password、phone、age、email字段
from django.db import models
# Create your models here.
class UserInfo(models.Model):
name = models.CharField(max_length=100)
password = models.CharField(max_length=100)
phone = models.CharField(max_length=100)
age = models.IntegerField()
email = models.EmailField()
在python的控制台执行
python manage.py makemigrations
python manage.py migrate
(1)python manage.py makemigrations
执行完成后可以看到项目中多了一个migrations的文件夹,生成了临时文件
(2)python manage.py migrate
将临时文件中的建表信息在数据库中执行,执行完语句之后,可以看到数据库中已经存在了app01_userinfo的表
4.增删改查测试
(1)在views.py中新加增删改查四个接口
def addUserInfo(request):
UserInfo.objects.create(name='zhangsan', age=18, password='123456', email='2134567@qq.com', phone='345678')
return HttpResponse("ok")
def listUserInfo(request):
data = UserInfo.objects.all()
print(data.values())
return HttpResponse(data.values())
def editUserInfo(request):
data = UserInfo.objects.get(name='zhangsan')
data.age = 22
data.save()
return HttpResponse("ok")
def deleteUserInfo(request):
data = UserInfo.objects.get(name='zhangsan')
data.delete()
return HttpResponse("ok")
(2)在urls.py中新加接口路径
urlpatterns = [
path('admin/', admin.site.urls),
path('test/', views.test),
path('list/', views.listUserInfo),
path('add/', views.addUserInfo),
path('update/', views.editUserInfo),
path('delete/', views.deleteUserInfo),
]