智教社

Django常见问题及解决方法
一、ModuleNotFoundError: No module named 'django'解决办法

给项目安装Django模块

二、File "manage.py", line 17 ) from exc ^ 解决办法

是因为Python是2.*导致的,需要使用Python3

三、创建Django项目

django-admin startproject 项目名

四、-bash: django-admin: command not found解决办法

find / -name django-admin -print

ln -s 路径 /usr/bin/django-admin

五、在Django项目下创建应用

django-admin startapp 应用名

六、Django如何调用静态资源

修改settings.py配置静态资源

七、配置static后图片不显示的解决办法

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

from django.contrib import staticfiles

urlpatterns += staticfiles_urlpatterns()

八、django.db.utils.NotSupportedError: SQLite 3.2x or later is required (found 3.2y.0)的解决办法

原因:未安装SQLite或SQLite版本较低,可通过命令:sqlite3 --version查看sqlite版

九、如何安装SQLite

安装sqlite命令:yum install sqlite

十、如何升级SQLite

1. 下载和解压

wget https://www.sqlite.org/2019/sqlite-autoconf-3290000.tar.gz

tar -zxvf sqlite-autoconf-3290000.tar.gz

2. 安装

cd sqlite-autoconf-3290000

./configure --prefix=/usr/local/sqlite

make && make install

3. 检查最新安装的版本

/usr/local/sqlite/bin/sqlite3 --version

4. 删除用过的文件

rm -rf sqlite-autoconf-3290000*

5. 备份旧的sqlite3

mv /usr/bin/sqlite3 /usr/bin/sqlite3_old

6. 软链接将新的sqlite3设置到/usr/bin目录下

ln -s /usr/local/sqlite/bin/sqlite3 /usr/bin/sqlite3

7. 查看当前全局sqlite3的版本

sqlite3 --version

8. 配置lib库(重要)

创建/ect/ld.so.conf.d/sqlite3文件,内容为:/usr/local/sqlite/lib

执行ldconfig

十一、升级sqlite后,(虚拟机)仍然提示sqlite版本低

1. 通过rpm -qa | grep sqlite发现了多个3.2y版本

2. 使用yum remove sqlite卸载后,发现还有一个:

sqlite-libs-3.2y.0-18.el8.x86_64

3. 使用yum remove sqlite-lib*继续卸载,提示The operation would result in removing the following protected packages

翻译成中文意思是:操作将导致删除以下受保护的包。(慎重)

4. rpm -e sqlite-libs-3.2y.0-18.el8.x86_64 --nodeps 卸载成功。

删除后发现网站彻底不打开了,查看日志发现找不到libsqlite3.so文件。

5. 最后找到原因,在升级sqlite时忘了配置lib库。

十二、django设置管理员

python manage.py migrate

python manage.py createsuperuser

十三、django admin模板目录

/lib/python3.10/site-packages/django/contrib/admin/templates/admin

十四、django登录跨域问题

CSRF_TRUSTED_ORIGINS = ['http://my.zhijiaoshe.cn',]

智教社Python研究院

扫一扫

手机端打开