django 项目启动报错-cannot import name 'smart_text' from 'django.utils.encoding'
开发环境:
python 3.11.4
django 3.1.0
故障描述开发 django-small 项目,用到 djangorestframework-jwt 包,启动项目报错:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889INFO autoreload 668 Watching for file changes with StatReloaderPerforming system checks...Exception in thread django-main-thread:Traceback (most recent call last): File "/home/leazhi/.env/haoke_small/lib/python3.10/site-packages/re ...
django-small 系列008-登录的实现
Token 的实现生成 token1.安装 djangorestframework-jwt 包:
123456789101112131415161718192021222324252627282930313233343536373839leazhi@ubuntuhome:~$ workon haoke_small(haoke_small) leazhi@ubuntuhome:~$ pip3 install djangorestframework-jwtLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simpleCollecting djangorestframework-jwt Downloading https://pypi.tuna.tsinghua.edu.cn/packages/2b/cf/b3932ad3261d6332284152a00c3e3a275a653692d318acc6b2e9cf6a1ce3/djangorestframework_jwt-1.11.0-py2.py3-none-any.whl (1 ...
vsftpd 系列002-系统用户模式
修改配置系统用户模式是指能登录到系统的非 root 用户,且用户有自己的家目录,可以对家目录进行读写操作。
1.编辑 vsftpd 的主配置文件vsftpd.conf,将其修改成;
1234567891011121314151617181920212223242526# /etc/vsftpd.conf# 监听 IPV6listen_ipv6=YES# 禁用匿名用户anonymous_enable=NO# 启用系统用户local_enable=YES# 启用写write_enable=YESdirmessage_enable=YES# 使用本地时间use_localtime=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_file=/var/log/vsftpd.logxferlog_std_format=YESsecure_chroot_dir=/var/run/vsftpd/emptypam_service_name=vsftpdrsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.p ...
vsftpd 系列001-安装 vsftpd
系统环境:
操作系统:Ubuntu 22.04
软件版本:vsftpd-3.0.5
内核版本:5.15.0-82-generic
安装方式:apt install vsftpd-3.0.5
安装1apt install vsftpd-3.0.5
django-small 系列007-注册功能实现
实现用户注册序列化器123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101# users/serializers.pyimport refrom users.models import Userfrom django_redis import get_redis_connectionfrom rest_framework import serializersclass CreateUserSerializer(serializers.ModelSerializer): password = serializers.CharField(write_only=True, label='password) password2 = seria ...
django-small 系列006-注册之邮箱和验证码
短信验证码注册三方:yuntongxun.com注册信息:
1234ACCOUNT SID:2c94811c8a27cf2d018a2ca1c93001b9AUTH TOKEN:d572f5bba5bd4c78a4d72e12b68c75bcRest URL:https://app.cloopen.com:8883AppID:2c94811c8a27cf2d018a2ca1ca8901c0
注册好后,将 yuntongxun 目录复制到下面创建的 sms 包目录下
创建 celery任务1.在项目根目录 haoke 下新建一个 python 包目录 celery_tasks ,同时,在该目录下新建一个名为 sms 的包目录:
2.安装 celery 异步任务模块:
123456789(haoke_small) leazhi@ubuntuhome:~$ pip install celeryLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simpleCollecting celery Downloading https://p ...
兼职单 003-某鲜医院影像资料无法上传
系统环境系统环境如下图:
问题描述客户反馈,处于同一局域网内的机器最近2天的 CT影像资料都无法上传到服务器,但是设备之间的通讯正常(服务器之间端口互通,且可以ping通)。让用户尝试发送一次数据,发现:
问题分析从上图可以很明显的看到,文件上传的目录没有指定在哪个盘符里面,只是给出了一个没有盘符的路径,且报了个 Open file error 的错误。
查看日志,发现:
对比之前上传成功的日志,发现上传的日志中明显有指定盘符路径
解决方法打开软件,
配置好存储介质路径,保存,重启软件。让客户再次重试上传,发现可以上传了。
django-small 系列005-注册之用户名及手机号
django 认证系统Django是一个流行的Python Web框架,提供了一个强大的认证系统,用于处理用户认证和授权的功能。Django的认证系统提供了一种简单且安全的方式来管理用户的身份验证、登录和访问控制。
Django认证系统的主要组件包括:
用户模型(User Model):Django提供了一个内置的用户模型,您可以使用它来管理用户的身份验证和基本信息。您可以通过 django.contrib.auth.models.User 访问用户模型,并使用其提供的属性和方法来处理用户相关的操作。
身份验证视图(Authentication Views):Django提供了一些内置的视图,用于处理用户认证相关的任务,例如用户注册、登录、注销等。您可以通过 django.contrib.auth.views 模块来访问这些视图,并根据需要进行自定义。
装饰器和Mixin:Django提供了一些装饰器和Mixin,用于限制对特定视图的访问权限。例如, @login_required 装饰器可以用于要求用户在访问某个视图之前进行身份验证。
权限系统(Permission Sys ...
django-small 系列004-跨域问题
跨域跨域(Cross-Origin)指的是在Web开发中,当一个网页的JavaScript代码试图访问不同源(Origin)的资源时所面临的限制。同源策略(Same-Origin Policy)是浏览器的一项安全机制,它限制了来自不同源的网页对当前网页的访问。源(Origin)由协议、主机名和端口号组成。
跨域问题通常发生在以下情况下:
域名不同:当网页的域名与请求的资源的域名不同。
协议不同:当网页的协议与请求的资源的协议不同。
端口号不同:当网页的端口号与请求的资源的端口号不同。
跨域问题会导致浏览器阻止网页中的JavaScript代码访问来自不同源的资源,如Ajax请求、跨域脚本访问、跨域数据读取等。为了解决跨域问题,可以使用一些方法,包括:
JSONP(JSON with Padding):通过在网页中插入一个 <script> 标签来加载跨域的JavaScript资源。
CORS(Cross-Origin Resource Sharing):在服务器端设置响应头,允许跨域请求。
代理服务器:在自己的服务器上创建一个代理,将跨 ...
兼职单 002-无法进入系统
系统环境
OS: Ubuntu 20.04.4 LTS
Kernel: 5.15.0-79-generic
桌面环境: GNOME Shell 3.36.9
终端: gnome-terminal 3.36.2
问题描述客户反馈,新装的 ubuntu 20.04 ,装完就无法进入系统(也就是连命令行模式都无法进入),一直停留在一个报错进面:
问题分析根据问题描述中的报错信息,大致推算为显卡驱动的问题,于是开始排查。
解决过程首先,可以确定的是:客户机器无法进入系统,所以无法通过 ToDesk 远程工具协助解决。只能通过我这边提供解决思路和命令以及客户手机拍照截图协助解决。
其次,通过报错的关键字 i2c timeout error 可以从 google 上获取大致的解决方法,具体如下:
进入救援模式Ubuntu 20.04 进入救援模式的方式:https://digitalixy.com/linux/611713.html
1.引导客户进入救援模式后,敲下键盘上的回车键,然后执行挂在命令:
1mount -n -o remount,rw /
禁用显卡驱动1.执行了上面的挂在命令后,接 ...