1、 创建项目mydemo和应用myapp
#创建项目mydemo
django-admin startproject mydemo2
#进入mydemo文件
cd mydemo
dir
#创建一个myapp项目
python manage.py startapp myapp
# 启动项目
python manage.py runserver
2、连接数据库
1、进入Navicat,创建一个数据库mytest2,
2、通过执行表迁移创建数据库表
2.1 执行数据库的连接配置,网站配置
编辑mydemo2/mydemo2/settings.py文件
# *允许其他地址可以访问。
ALLOWED_HOSTS = ['*']
#添加自己的应用myapp
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
]
#配置模板路径信息
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
#数据库的连接
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mytest',
'USER': 'root',
'PASSWORD': '125358',
'HOST': 'localhost',
'PORT': '3306',
}
4、定义model类
4.1编辑mydemo2/myapp/models.py
from django.db import models
from datetime import datetime
# Create your models here.
class Users(models.Model):
#id = models.AutoField(primary_key=True) #主键可省略不写
name = models.CharField(max_length=32)
age = models.IntegerField(default=20)
phone = models.CharField(max_length=16)
addtime=models.DateTimeField(default=datetime.now)
# 自定义对应的表名,默认表名:myapp_users
#class Meta:
#db_table="myapp_users"
4.2 生成迁移文件
python3 manage.py makemigrations
4.3、执行迁移
python manage.py migrate
此时数据库中会有一张表,并且有字段
4.4、在myapp/views.py中配置首页
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('首页')
4.5、配置路由
在总urls.py中
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
#path('admin/', admin.site.urls),
path("",include('myapp.urls'))
]
在myapp下创建子路由urls.py
from django.urls import path
from . import views
urlpatterns = [
path("",views.index,name='index'),
]
在命令窗口启动服务,可以看到如下界面
5、操作数据库数据
from django.shortcuts import render
from django.http import HttpResponse
from myapp.models import Users
# Create your views here.
def index(request):
#执行Model的操作
#添加操作
# ob = Users()
# ob.name='李四'
# ob.age= 18
# ob.phone='1256'
# ob.save()
#删除操作
# mod = Users.objects#获取Users的model对象
# user = mod.get(id=6)#获取id=6的数据信息
# print(user.name)
# user.delete()
#修改操作
# ob = Users.objects.get(id=2)
# print(ob.name)
# ob.name = 'zhang'
# ob.age=23
# ob.save()
#查询数据
mod = Users.objects#获取Users模型的Model操作对象
#ulist = mod.all()#获取所有数据
#ulist = mod.filter(name='浓浓')#获取name=‘浓浓’的信息
# ulist = mod.filter(age__gt=20)#年龄大于 20
# ulist = mod.filter(age__gte=20)#年龄大于等于 20
# ulist = mod.filter(age__lte=20)#年龄小于等于20
#ulist = mod.order_by('age')#按年龄升序
ulist = mod.order_by('age')[:3]
for u in ulist:
print(u.id,u.name,u.age)
return HttpResponse('首页')
参考:https://www.bilibili.com/video/BV1pq4y1W7a1?p=10