随笔分类 - Django
摘要:当默认的用户表中字段不足以满足我们的业务需求时,可以自己继承和重写用户表,增加想要的字段。 1. 自定义用户表模型 from django.db import models from django.contrib.auth.models import AbstractUser # 重新定义用户表 c
阅读全文
摘要:1. 使用Django默认模板 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [BASE_DIR / 'templates'], # 使用路径表达式 'APP_DIRS':
阅读全文
摘要:1. 创建media文件夹 2. 配置settings.py # 指定媒体url MEDIA_URL = '/media/' # 指定存放媒体文件的文件夹 MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 3. 在urls.py中添加 from django.
阅读全文
摘要:使用django-simple-captcha实现登录验证码: 第一步:安装pillow依赖 pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple/ 第二步:安装django-simple-captcha pip install
阅读全文
摘要:实现原理: 在页面加载完成后,jQuery调用initComments()函数,initComments()函数会向后端发起Ajax请求,后端收到请求后,会把所有评论的数据以JSON格式返回到前端,然后前端再把评论的数据在页面上进行展示,评论的层级关系通过父级id来进行识别。 首先来看一下评论的表结
阅读全文
摘要:分为两个部分: 后台使用Markdown编辑 前端使用Markdown展示 准备工作: pip install django-mdeditor # 用于后台编辑 pip install markdown # 用于前端显示 INSTALLED_APPS = [ ... 省略 ... 'mdeditor
阅读全文
摘要:需要用到 models.ImageField(), 它继承自 models.FileField(), 用ImageField的时候需要安装pillow pip install pillow -i https://pypi.douban.com/simple/ 首先,进行媒体文件配置: setting
阅读全文
摘要:一、序列化和反序列化 1、序列化:把我们的数据转换成指定的格式提供给别人 例如:我们在django中获取到的数据默认是模型对象,但是模型对象数据无法直接提供给前端或别的平台使用,所以我们需要把数据进行序列化,变成字符串或者json数据,提供给别人。 2、反序列化:把别人提供的数据转换/还原成我们需要
阅读全文
摘要:1、导入 auth 模块 # 认证模块 from django.contrib import auth # 对应数据库用户表,可以继承扩展 from django.contrib.auth.models import User 2、创建用户对象 create():创建一个普通用户,密码是明文的。 c
阅读全文
摘要:1、安装DRF pip install djangorestframework 2、将DRF注册到APP中 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes',
阅读全文
摘要:定义模型类: from django.db import models from django.contrib.auth.models import User ''' Django-ORM多表关联 ''' ''' 需要创建的表: 1. 书籍表 2. 出版社表 3. 作者表 4. 作者详情表 '''
阅读全文
摘要:一、三种关联情况 二、ORM的正向操作和反向操作 1.正向操作: 一个模型中定义了一个外键,通过该模型对该外键操作的操作叫做正向操作。 2.反向操作: 被外键所关联的模型,通过该模型对外键所在模型的操作叫做反向操作。 关联表的详细使用方式,引用:“ https://www.runoob.com/dj
阅读全文
摘要:在settings.py配置文件中进行配置: # 设置为中文 LANGUAGE_CODE = 'zh-hans' # 设置 “亚洲/上海” 时区 TIME_ZONE = 'Asia/Shanghai'
阅读全文
摘要:<!-- 引入jQuery.js --> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script> <!-- 准备一个将要展示的<div>,它的默认状态为隐藏(display: none) -->
阅读全文
摘要:def index(request): # 查询数据,返回QuerySet对象books books=Book.objects.filter(id__gte=1) # 打印books, 是一个QuerySet对象 # <QuerySet [<Book: Book object (1)>, <Book
阅读全文
摘要:方式一: python manage.py runserver 方式二: # 加上监听地址和端口 python manage.py runserver 0.0.0.0:8080 方式三: 使用 Pycharm 启动
阅读全文
摘要:如果想打印ORM转换过程中的SQL,需要在settings中进行如下配置: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':
阅读全文
摘要:1、添加记录 方式一:save() 方式二(推荐):create() 2、查询记录 (1)all() 查询所有记录,返回queryset对象。 stu_list = Student.objects.all() (2)filter() 查询符合条件的对象,返回queryset对象。 stu_list
阅读全文
摘要:1、模型文件以及继承的类 2、ORM对应关系 一个class类,对应数据库一个表 一个class属性,对应一个字段 一个实例对象,对应一条数据记录 3、主键 可以自己定义主键列,如果自己不定义主键的话,会自动生成ID列并作为主键。 4、属性命名规则 属性名 = models.字段类型(约束选项, v
阅读全文