1.启动项目 注册app
python manage.py startapp 模块名称;
在settings文件下,注册app;
2.连接数据库(以postgresql为例)
在settings文件下,配置数据库相关信息
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': '数据库名称',
'USER': '用户名',
'PASSWORD': '密码',
'HOST': '主机号',
'PORT': '端口号',
}
}
3.创建迁移文件、执行迁移文件
#创建迁移文件
python manage.py makemigrations
#执行迁移文件
python manage.py migrate
4.django框架理解概述
区别于java框架的MVC,django是MTV模式,即models层、template层、view层,m层用于进行数据库中表的创建、template即为模板层展示页面、view层用来处理请求逻辑;
5.django自带的后端管理系统
需要在终端执行下载 simpleui,
pip install django-simpleui
通过在终端设置管理员端的账号密码,进行管理员登陆;
python manage.py createsuperuser
6.django的shell命令
在终端输入shell,可进入django的调试阶段,可以在shell里面进行代码测试,也需要导包
python manage.py shell
7.django中每个app下.py文件的作用
models.py文件:
from django.db import models
# Create your models here.
class Jingdianinfo(models.Model):
# 景点信息 经度 纬度 风景区官网链接 风景区图片链接 风景区名称 地址 开放时间 门票 描述
name = models.CharField(max_length=200, verbose_name='风景区名称')
address = models.CharField(max_length=200, verbose_name='风景区地址')
lat=models.FloatField(verbose_name='纬度')
lon = models.FloatField(verbose_name='经度')
opentime = models.CharField(max_length=200, verbose_name='开放时间')
Tickets = models.CharField(max_length=200, verbose_name='门票')
description = models.TextField(max_length=200, verbose_name='风景区描述')
image_url = models.CharField(max_length=200, blank=True, null=True, verbose_name='风景区图片链接')
guanwang_url = models.CharField(max_length=200, blank=True, null=True, verbose_name='风景区官网链接')
class Meta:
verbose_name = '景点信息' # 修改django管理员端的显示
verbose_name_plural = verbose_name
models层与数据库先关联,类创建相当于在数据库中创建表,表名称就是 当前注册的app名称+类名 ,类内定义的类似于表的字段,可以设置字段类型、最大值、最小值、是否为空、默认值等;
admin.py文件:
from django.contrib import admin
from .models import *
# Register your models here.
# 自定义模型管理器类
class JingquManager(admin.ModelAdmin):
# 列表页显示哪些列的字段
list_display = ['id', 'name', 'address', 'lat', 'lon', 'opentime', 'Tickets', 'description', 'image_url',
'guanwang_url']
# 控制list_display列表页下的值,哪个可以链接到修改页面
list_display_links = ['id']
# 添加过滤器
list_filter = ['name']
# 添加搜索框
search_fields = ['name']
# 添加可在列表页编辑的字段
list_editable = ['description','lon','lat']
# 注册自定义模型类 使django在后台管理器中也可以看到自定义的模型类
admin.site.register(Jingdianinfo, JingquManager)
自定义模型管理器类,其实就是一个表对应着一个管理器,通过注册模型类,实现在管理员端便捷的操作数据库的数据,类内定义的数据看注释;

注册自定义模型类 使django在后台管理器中也可以看到自定义的模型类;

1943

被折叠的 条评论
为什么被折叠?



