当前位置: 首页 > news >正文

Django框架FAQ

文章目录

    • 问题1:Django数据库恢复
    • 问题2:null和blank的区别
    • 3.报错 django.db.utils.IntegrityError: (1062, “Duplicate entry ‘‘ for key ‘mobile‘“)
    • 4.报错 Refused to display ‘url‘ in a frame because it set ‘X-Frame-Options‘ to 'deny
    • 5.报错 RuntimeError: cryptography is required for sha256_password or caching_sha2_password

问题1:Django数据库恢复

问题:

从仓库拉下来的Django项目,没有sqlite数据库和migrations记录,如何通过model恢复数据库

解决方法:

# 步骤1:导出数据
# 不指定 appname 时默认为导出所有的app
python manage.py dumpdata [appname] > appname_data.json#步骤2导入数据
python manage.py loaddata blog_dump.json

问题2:null和blank的区别

问题:

Django models中的null和blank的区别

解决方法:

nullblank
null是在数据库上表现NULLblank只是在填写表单的时候可以为空,而在数据库上存储的是一个空字符串

注意:

日期型(DateField,TimeField,DateTimeField)和数字型(IntegerField,DecimalField,FloatField)不能接受空字符串,如要想要在填写表单的时候这两种类型的字段为空的话,则需要同时设置null=True,blank=True

3.报错 django.db.utils.IntegrityError: (1062, “Duplicate entry ‘‘ for key ‘mobile‘“)

问题:

报错:django.db.utils.IntegrityError: (1062, “Duplicate entry ‘‘ for key ‘mobile‘“)

The above exception was the direct cause of the following exception:
...
File "C:\Users\Jason\AppData\Roaming\Python\Python36\site-packages\pymysql\protocol.py", line 220, in check_errorerr.raise_mysql_exception(self._data)File "C:\Users\Jason\AppData\Roaming\Python\Python36\site-packages\pymysql\err.py", line 109, in raise_mysql_exceptionraise errorclass(errno, errval)
django.db.utils.IntegrityError: (1062, "Duplicate entry '' for key 'mobile'")

解决方法:

众所周知我们创建后台管理员时候是没有设置手机号的.报这个错就是告诉我们在数据库中已经存在一个管理员,且手机号为空,我们再次创建管理员就会有手机号重复的现象存在从而报这个错. username重复时同样出现以下问题

在这里插入图片描述

4.报错 Refused to display ‘url‘ in a frame because it set ‘X-Frame-Options‘ to 'deny

问题:

运行Django时浏览器中遇到Refused to display ‘url‘ in a frame because it set ‘X-Frame-Options‘ to 'deny'

在这里插入图片描述

解决方法:

#只需要在 Djagno 的 settings.py 文件中输入:
X_FRAME_OPTIONS = 'SAMEORIGIN'

5.报错 RuntimeError: cryptography is required for sha256_password or caching_sha2_password

现象1:

使用Django2.0连接数据库的时候报错RuntimeError: cryptography is required for sha256_password or caching_sha2_password

现象2:

使用数据库连接工具连接时报错:mysql:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO/YES)

本地环境: windows10+mysql8.0.21+django2.0.1

解决方案:

  • 以管理员身份打开cmd 输入 net stop mysql
  • 接着输入 mysqld --console --skip-grant-tables --shared-memory
  • 在重新打开一个cmd 依次输入 mysql -u root -p 提示输入password再按Enter

注意:如果没有设置环境变量则会显示mysql命令无效

show databases
use mysql
update user set authentication_string = '' where user='root';
  • 以管理员身份新打开cmd 输入 net start mysql
  • 新cmd中mysql -uroot -p , 按Enter, 出现“Enter password:” , 再按Enter
  • ALTER USER 'root'@'localhost' IDENTIFIED BY 新密码 修改密码,注意结尾分号
  • 使用新的密码连接数据库即可
http://www.lryc.cn/news/227999.html

相关文章:

  • chinese-hanfu-sd1.5-v30 训练日记
  • 【Redis系列】Redis的核心命令(上)
  • 鸿蒙 API9 接入 Crypto库
  • Halcon WPF 开发学习笔记(2):Halcon导出c#脚本和WPF初步开发
  • 红队专题-从零开始VC++C/S远程控制软件RAT-MFC-超级终端
  • ROS机器人毕业论文数量井喷-数据日期23年11月13日
  • BIO、NIO、AIO之间有什么区别
  • 强烈建议linux中nvidia 545.29驱动不要升
  • css格式和样式选择器-学习记录
  • 【Python】Matplotlib-多张图像的显示
  • 数据库 关系数据理论
  • 网易数帆:云原生向左,低代码向右
  • 上线亚马逊出口美国审核CPC认证标准内容解析
  • SharePoint 的 Web Parts 是什么
  • 异星工场入门笔记-02-一个重要地学习方法
  • pyqt5学习-01 UI界面创建以及生成python代码
  • 大数据技术与原理实验报告(MapReduce 初级编程实践)
  • Redis 5大数据类型命令解读
  • 数据可视化新秀 DataEase 可否替代 Tableau?
  • Java源码分析(三)ArrayList
  • 冒泡排序
  • docker基于debian11基础环境安装libreoffice
  • Intel Devkit Call for Paper Challenge - Advanced Award
  • 【正点原子STM32连载】 第五十章 FATFS实验 摘自【正点原子】APM32F407最小系统板使用指南
  • 12. 机器学习——评价指标
  • 代码随想录算法训练营第23期day45|70. 爬楼梯 (进阶)、322. 零钱兑换、279.完全平方数
  • uniapp公共css
  • C语言—i++、++i、条件运算符、goto语句、注释
  • Java自学第8课:电商项目(3) - 重新搭建环境
  • 深度学习_11_softmax_图片识别代码原理解析