python Django(二)
Django单表操作
1、创建应用
1.1、添加应用
py manage.py startapp studentmanager
1.2、修改配置
修改settings.py文件的INSTALLED_APPS配置项
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'studentmanager', # 注册自己的应用
]
2、生成数据表
2.1、创建模型
class StudentInfo(models.Model):
# id = models.AutoField(primary_key=True) # id 会自动创建,可以手动写入
name = models.CharField(max_length=30) # 字符串
sex = models.CharField(max_length=2) # 性别
birth = models.DateField() # 日期类型
2.2、生成迁移文件
根据模型类型生成sql语句。
py manage.py makemigrations
生成的迁移文件就在migrations文件夹下
operations = [
migrations.CreateModel(
name='StudentInfo',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=30)),
('sex', models.CharField(max_length=2)),
('birth', models.DateField()),
],
),
]
使用的数据库settings文件中默认是sqlite3,项目中出现文件db.sqlite3
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
这里使用的是社区版的pycharm,查看sqlite3数据库,需要借助插件Database Navigator
2.3、执行迁移
执行sql语句生成数据表。
py manage.py migrate
查看生成的表

3、视图与模板
3.1、视图
在Django中,通过浏览器发送请求时,使用视图函数来处理这个请求,并给与响应的,在应用的views.py定义当前应用的视图函数。
3.1.1、创建视图函数
from django.http import HttpResponse
# 1、定义视图函数
# 2、url配置 建立url地址和视图的对应关系
# django的配置和flask不同
def index(request):
return HttpResponse('hello django')
3.1.2、配置url与视图对应关系
项目路由文件配置当前应用
from django.contrib import admin
from django.urls import path
from django.conf.urls import url,include
urlpatterns = [
path('admin/', admin.site.urls),
path('stu/',include('studentmanager.urls')), # 配置studentmanager的urls
]
在应用下创建urls.py文件
from django.conf.urls import url
from django.urls import path
from studentmanager import views
urlpatterns = [
# 通过url设置url路由配置项
path('index',views.index)
]
3.1.2、启动项目、访问
http://127.0.0.1:8888/stu/index
3.2、模板
3.2.1、创建模板文件夹
创建模板文件夹,我们通常在项目下创建文件夹templates。
3.2.2、配置模板文件
配置模板文件,在项目settings.py下配置模板文件夹。
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',
],
},
},
]
3.2.3、创建模板文件、测试
模板文件夹下创建对应的应用文件夹,后创建测试模板Html文件
学生管理
学生管理首页
传递的信息:{{message}}
视图使用模板文件
1、加载模板文件
2、定义模板上下文,向模板文件传递数据
3、模板渲染,页面显示
def index(request):
context = {}
context['message'] = 'hello Django'
return render(request,'studentmanager/index.html',context)
http://127.0.0.1:8888/stu/index访问即可。
模板的使用参考
https://www.runoob.com/django/django-template.html