2024年1月23日

Django: 报错 OSError: No translation files found for default language zh-CN.

1. 问题概述: 在Django的settings.py中配置LANGUAGE_CODE = 'zh-CN'时,报错: OSError: No translation files found for default language zh-CN. 2. 相关原因: 目录(PycharmProject)/venv/lib/python3.10/site-packages/django/conf/locale/下为Django的语言文件。 其中,中文有简体中文zh-Hans和繁体中文zh-Hant。没有zh-CN的语言文件。 3. 解决办法: 将LANGUAGE_CODE设置为zh-Hans: LANGUAGE_CODE = 'zh-Hans'…
2024年1月18日

Django教程: Django2.1新手图文入门教程

本文面向有一些的Python基础,但刚接触web框架的Django初学者。 环境:Windows10   Python3.6   Pycharm2018   Django 2.1版  pip3 一、Django简介 百度百科:一个开放源代码的Web框架,由Python语言编写...... 重点:一个大而全的框架,啥都替你考虑好了。 1. web框架介绍 具体介绍Django之前,必须先介绍Web框架的概念。 Web框架: 别人已经设定好的一个Web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子。 一般Web框架的架构是这样的: 其它基于Python的Web框架,如Tornado、Flask、Webpy都是在这个范围内进行增删裁剪的。例如Tornado用的是自己的异步非阻塞通信协议,Flask则只提供了最精简和基本的…
2024年1月15日

Django: PyCharm创建Django项目的路径问题

PyCharm通过菜单直接新建Django项目,项目的文件目录结构如下: djangoProject    ├── djangoProject    │   ├── asgi.py    │   ├── __init__.py    │   ├── settings.py    │   ├── urls.py    │   └── wsgi.py    ├── manage.py    └── templates 如果是通过PyCharm新建纯Python项目,然后在项目目录下通过django-admin startproject projectname新建Django项目: (venv) ubuntu@ubuntu:~/pythonProject$ django-admin startproject djangoProject 则Django项目的目录结…
2023年8月11日

Django: 工程项目创建简要流程

Django工程项目创建简要流程: 创建项目+创建应用+安装应用+配置模板路径+本地化+MySQL数据库+URLconf+视图 一、项目流程: 1.创建项目 django-admin startproject bookmanager 2.创建应用 python manager.py startapp book 3.更换python解释器:按需选择 # 进入指定虚拟环境 which python # python2 /home/python/.virtualenvs/py_django/bin/python # python3 /home/python/.virtualenvs/py3_django/bin/python 4.安装应用 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'd…
2023年8月7日

Django: 警告提示 This was likely an oversight when migrating to django.urls.path() / URL路径参数

1. 问题概述: Django 警告提示 This was likely an oversight when migrating to django.urls.path() 2. 相关原因: Django 2.0中django.urls.path()不使用正则表达式。 3. 解决办法 如果要使用正则表达式,可以使用django.urls.re_path() from django.urls import include, path, re_path import views urlpatterns = [ ... re_path(r'^(?P[0-9])/$', views.detail, name='detail'), ] URL路径参数 如果想从URL中获取值,需要在正则表达式中使用分组, 获取值分为两种方式 位置参数 参数的位置不能错 关键字参数 参数的位置可以变,跟关键字保持一致即可 注…
2022年10月7日

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

本文为 djangorestframework-simplejwt 使用记录。(官方文档) 1. 安装 pip install djangorestframework-simplejwt 2. 使用 创建 Django 项目及 app: # 创建名为 simple 的工程 django-admin startproject simple # 创建名为 users 的应用 cd simple python manage.py startapp users 目录结构如下:  在 `simple/settings.py` 中进行配置: # simple/settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib…
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官方文档 simple…
2022年10月5日

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

Mixin类编写视图 我们这里用auther表来做演示,先为auther和autherdetail写2个url url(r'^autherdetail/(?Pd )', views.Book_detail_cbv.as_view(), name="autherdetail"), url(r'^auther/', views.Book_cbv.as_view(),name="auther"),   然后分别为这2个类写对应的序列化的类 class authermodelserializer(serializers.ModelSerializer):     class Meta:         model = models.Auther         fields = "__all__" 下面我们开写视图函数 需要在view文件中导入2个模块…
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 版本不一样,使…