前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python Web之Django使用的几个技巧!

Python Web之Django使用的几个技巧!

作者头像
二爷
发布2021-12-15 13:37:55
3940
发布2021-12-15 13:37:55
举报
文章被收录于专栏:二爷记二爷记

最近在搭建Django站点,所以有了如下记录,与其说是Django使用技巧,不如说是记录几个Django(2.1.2版本)使用过程中碰到的几个问题,学习渣在学习实践中总是会出现各种莫名其妙的问题,而且比较悲哀的是,都是比较基础的问题,几乎多留意一下就能解决,但往往会困扰个人很久!

1.错误代码的问题解决

  • 错误情况:修改文章详情报错,Exception Location: E:\my_blogs\env\lib\site-packages\django\forms\boundfield.py in as_widget, line 89
  • 错误信息:TypeError: render() got an unexpected keyword argument 'renderer' 错误
  • 错误原因:Django集成DjangoUeditor,才导致这个错误的!
  • 解决方案:这个问题困扰了许久,而且网上的解决方案,注释代码在本渣渣这边测试是无效的,好在有后面找寻的方案解决了,感谢!

修改代码:

DjangoUeditor > widgets.py > UEditorWidget 类,间接继承 django > forms > widgets.py > Widget 类,而 django > forms > widgets.py > Widget 类!

代码语言:javascript
复制
#def render(self, name, value, attrs=None):  #修改前!
    def render(self, name, value, attrs=None, renderer=None):
        if value is None:

来源:

博客园/王者心·青铜梦

记录 TypeError: render() got an unexpected keyword argument 'renderer' 错误

https://www.cnblogs.com/python-boy/p/11290606.html

2.修改Django后台账号信息

  • 解决方案一:覆盖原账号信息

直接清除原账号信息,清除数据库的管理员,重新新建超级管理员账号信息!

  • 解决方案二:修改账号信息

cd到manage.py目录下,在Terminal中执行:python manage.py changepassword your_name(其中“your_name”为你要修改密码的用户名),根据提示内容修改即可。

代码语言:javascript
复制
python manage.py shell
>>from django.contrib.auth.models import User
>>user=User.objects.get(username='admin')
>>user.set_password('*********')
>>user.save()

#忘记用户名?
>>user1 = User.objects.filter(is_superuser = True)
>>user2 = User.objects.filter(is_superuser = True, is_staff = True)
>>print(user1,user2)

3.更换Django数据库为Mysql数据库

如果上线网站,还是建议更改为Mysql数据库,所以这里就有了更换本地项目的sqlite3数据库,上线变成mysql 数据库!

代码语言:javascript
复制
#原数据库 sqlite3
# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
#     }
# }

#更改为 mysql 数据库
DATABASES={
    'default':{
        'ENGINE':'django.db.backends.mysql',
        'NAME':'zhongzemin',
        'USER':'zhongzemin',
        'HOST':'159.75.36.12',
        'PASSWORD':'3505193ni',
        'PORT':'3306',
    }
}

需要注意的是,更换为 mysql 数据库的同时,需要安装第三方库,pymysql,来链接数据库,同时服务器的mysql版本必须大于5.5,本渣渣这里升级的版本为5.7.34!

代码语言:javascript
复制
import pymysql
pymysql.install_as_MySQLdb()

Django2.1以上不再支持MySQL5.5,必须5.6版本以上!

·················END·················

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与SEO学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.错误代码的问题解决
  • 2.修改Django后台账号信息
  • 3.更换Django数据库为Mysql数据库
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档