2022年10月7日

Django: DjangoRestFramework 使用 simpleJWT 登陆认证完整记录

本文为 djangorestframework-simplejwt 使用记录。(官方文档) 1. 安装 ? 1 pip install djangorestframework-simplejwt   2. 使用 创建 Django 项目及 app: ? 1 2 3 4 5 6 # 创建名为 simple 的工程 django-admin startproject simple   # 创建名为 users 的应用 cd simple python manage.py startapp users   目录结构如下:  在 `simple/settings.py` 中进行配置: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # simple/settings.py   INSTALLED_APPS = [     'django.contrib.admin',     'd…
2022年10月5日

Django: DjangoRestFramework 使用 simpleJWT登陆认证 ImportError: Could not import 'rest_framework_jwt.authentication.JSONWebTokenAuthentication' for API setting 'DEFAULT_AUTHENTICATION_CLASSES'. ImportError: cannot import name 'smart_text' from 'django.utils.encoding'

https://blog.csdn.net/u014783334/article/details/124831902 JSON Web Token不再维护,故不使用。 官方建议的是使用simpleJWT认证 并且最新版本的Django和DRF如果使用JSON Web Token,项目启动会报错 ImportError: Could not import 'rest_framework_jwt.authentication.JSONWebTokenAuthentication' for API setting 'DEFAULT_AUTHENTICATION_CLASSES'. ImportError: cannot import name 'smart_text' from 'django.utils.encoding'   simpleJWT官方文档…
2022年10月5日

Django: Django REST framework 视图之Mixin类编写视图源码解析

Mixin类编写视图 我们这里用auther表来做演示,先为auther和autherdetail写2个url ? 1 2 url(r'^autherdetail/(?P<id>\d+)', views.Book_detail_cbv.as_view(), name="autherdetail"), url(r'^auther/', views.Book_cbv.as_view(),name="auther"),     然后分别为这2个类写对应的序列化的类 ? 1 2 3 4 class authermodelserializer(serializers.ModelSerializer):     class Meta:         model = models.Auther         fields = "__all__"…
2022年9月22日

Django: Redis 命令参考

http://redisdoc.com/…
2022年9月21日

Django: MySQL makemigrations migrate 迁移报错 django.db.utils.OperationalError: (1060, "Duplicate column name 'xxx'")

1. 概述: 删除所有app下migrations文件夹中除__init__.py以外的其它文件(0001_initial.py)后, makemigrations migrate 迁移不报错 导入现有数据库备份文件后, makemigrations 显示无更改,migrate 迁移报错 django.db.utils.OperationalError: (1060, "Duplicate column name 'user_id'") 2. 相关报错: django.db.utils.OperationalError: (1060, "Duplicate column name 'user_id'") 3. 报错原因: 删除所有app下migrations文件夹中除__init__.py以外的其它文件(0001_initial.py)后, makemigrati…
2022年9月20日

Django: MySQL 导出导入现有数据库 及 models.py新增模型类包含外键ForeignKey时,makemigrations migrate 迁移报错 django.db.utils.OperationalError: 3780 ... incompatible

1. 概述: MySQL 导出导入现有数据库 及 models.py新增模型类包含外键ForeignKey时,makemigrations migrate 迁移报错 2. 相关报错: django.db.utils.OperationalError: (3780, "Referencing column 'customer_id' and referenced column 'id' in foreign key constraint 'TS_user_customer_id_545183b3_fk_customer_info_id' are incompatible.") 3. 报错原因: django.db.utils.OperationalError: 3780 引用列和被引用列不兼容 如果没有手动修改数据库的主字段,则很可能是创建数据库的Django 版本不一样,使…
2022年9月20日

Django: MySQL 修改字段 makemigrations migrate 迁移报错

官方文档 1. 概述: MySQL 修改字段 makemigrations migrate 迁移报错 2. 相关报错: django.db.utils.OperationalError: (1054, "Unknown column 'default_image_url' in 'tb_sku'") 或 django.db.utils.OperationalError: (1051, "Unknown table 'mydorm.users_studen t'") 或 django.db.utils.OperationalError: (1050, "Table 'profiles_category' already exists") 或 django.db.utils.ProgrammingError: (1146, "Table 'tb_user' doesn't exist")…
2022年9月20日

Django: model 字段类型及选项解析

model field 类型 1、AutoField() 自增的IntegerField,通常不用自己设置,若没有设置主键,Django会自动添加它为主键字段,Django会自动给每张表添加一个自增的primary key。 2、BigIntegerField 64位整数, -9223372036854775808 到 9223372036854775807。默认的显示widget 是 TextInput. 3、BinaryField ( Django 1.6 版本新增 ) 存储二进制数据。不能使用 filter 函数获得 QuerySet 4、BooleanField() True/False,默认的widget 是 CheckboxInput。 如果需要置空,则必须用 NullBooleanField 代替。 Django 1.6 修改:BooleanField 的默认值…
2022年9月15日

Django: haystack 全文检索框架

参考: Getting Started with Haystack…
2022年9月13日

Django: 全文检索 支持中文

全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理 whoosh:纯Python编写的全文搜索引擎。虽然性能比不上sphinx、xapian、elasticsearc等,但是无二进制包,程序不会莫名其妙的崩溃,对于小型的站点,whoosh已经足够使用, jieba:一款免费的中文分词包,当然也有收费的。 haystack:全文检索的框架,支持whoosh、solr、Xapian、Elasticsearc四种全文检索引擎。 PS: 我的检索是在文章模块下 forum/article 第一步:先安装需要的包: 1 2 3 pip install django-haystack pip install whoosh pip install jieba 第二步: 配置需要的文件 settings.py 添加haystack应用模…