各位小伙伴想要博客相关资料的话关注公众号:chuanyeTry即可领取相关资料!
安装Django
pip install django
创建Django项目
>>> django-admin startproject mysite(项目名)
注意:Pycharm可以创建。如果用Pycharm创建,记得settings.py中的DIR templates 删除。
创建app & 注册
>>>python manage.py startapp app01
>>>python manage.py startapp app02
>>>python manage.py startapp app03
INSTALLED_APPS = [
...
'app01.apps.App01Config'
]
注意:否则app下的models.py写类时,无法在数据库中创建表。
配置 静态文件路径 & 模板的路径(放在app目录下)。
配置数据库相关操作(MySQL)
第三方模块(django3版本)
pip install mysqlclient
自己先去MySQL创建一个数据库。
配置数据库连接settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'gx_day16', # 数据库名字
'USER': 'root',
'PASSWORD': 'root123',
'HOST': '127.0.0.1', # 那台机器安装了MySQL
'PORT': 3306,
}
}
在app下的models.py中编写
from django.db import models
class Admin(models.Model):
""" 管理员 """
username = models.CharField(verbose_name="用户名", max_length=32)
password = models.CharField(verbose_name="密码", max_length=64)
def __str__(self):
return self.username
class Department(models.Model):
""" 部门表 """
title = models.CharField(verbose_name='标题', max_length=32)
def __str__(self):
return self.title
执行两个命令:
>>>python manange.py makemigrations
>>>python manange.py migrate
在 urls.py ,路由 ( URL 和 函数的对应关系)。
在views.py,视图函数,编写业务逻辑。
templates目录,编写HTML模板(含有模板语法、继承、{% static 'xx'%}
)
ModelForm & Form组件,在我们开发增删改查功能。
Cookie和Session,用户登录信息保存起来。
中间件,基于中间件实现用户认证 ,基于:process_request
。
ORM操作//对数据库进行修改
models.User.objects.filter(id="xxx")//对id进行筛选
models.User.objects.filter(id="xxx").order_by("-id")//排序
分页组件。
有关知识点请看Django系列开发
链接: Django系列开发
https://blog.csdn.net/hellow_xqs/category_12535125.html?spm=1001.2014.3001.5482
class Order(models.Model):
""" 订单 """
oid = models.CharField(verbose_name="订单号", max_length=64)
title = models.CharField(verbose_name="名称", max_length=32)
price = models.IntegerField(verbose_name="价格")
status_choices = (
(1, "待支付"),
(2, "已支付"),
)
status = models.SmallIntegerField(verbose_name="状态", choices=status_choices, default=1)
admin = models.ForeignKey(verbose_name="管理员", to="Admin", on_delete=models.CASCADE)
想要去数据库中获取数据时:对象/字典
# 对象,当前行的所有数据。
row_object = models.Order.objects.filter(id=uid).first()
row_object.id
row_object.title
# 字典,{"id":1,"title":"xx"}
row_dict = models.Order.objects.filter(id=uid).values("id","title").first()
# queryset = [obj,obj,obj,]
queryset = models.Order.objects.all()
# queryset = [ {'id':1,'title':"xx"},{'id':2,'title':"xx"}, ]
queryset = models.Order.objects.all().values("id","title")
# queryset = [ (1,"xx"),(2,"xxx"), ]
queryset = models.Order.objects.all().values_list("id","title")
至此,基于Ajax + 对话框的形式实现的页面的增删改查。
图表学习链接:链接: 参考文档
更多参考文档:https://echarts.apache.org/handbook/zh/get-started