原文专栏:
Django的知识与案例实现
一、错误及解决方案集锦
1 Django连接mysql8.0报错
方案一:
(1)Django2.x连接MySQL8.x方法与各种错误解析
方案二:
(2)Django数据迁移:django.db.utils.OperationalError: (2059, <NULL>) ----2059错误
2 Microsoft Visual C++ 14.0 or greater is required
【非下载vs解决】error: Microsoft Visual C++ 14.0 or greater is required
3 legacy - install - failure
已解决error: legacy - install - failure
(1)安装setuptools
pip install --upgrade setuptools
(2)安装VS Install
pip install nes-py --no-cache-dir
pip install --upgrade pip setuptools wheel
(3)安装mysqlclient
pip install mysqlclient
4 the empty path didn’t match any of these
the empty path didn’t match any of these ----Django报错信息
5 Python环境配置冲突
- Python环境配置冲突,导致Django安装出现问题——虚拟环境里面装不进去Django
- 因为学习需要,我先后安装了anaconda3、pyhon3.7和python10.2,spark所需要的Python环境配置的权限过高,
PYTHONPATH
这个特有路径名称删除或者换个名字,使之失效,问题就解决了。
二、运行流程
1 Django实践-01入门
1、查看Python环境
conda env list
2、激活base环境
D:\develop\anaconda3\Scripts\activate
3、切换到py7环境(Python3.7)
conda activate py7(这是我的环境)
4、创建虚拟环境
虚拟环境的名字就是 vip4
python -m venv vip4
重要:
切换到虚拟环境vip4
vip4\Scripts\activate
没有这一步,或者没有切换到虚拟环境(vip4),可能之后的操作都是在base环境。
切换到虚拟环境的标志是前面有小括号(vip4)(vip4是虚拟环境的名字)
5、创建Django项目
django-admin startproject djangoproject
6、启动项目
python djangoproject\manage.py runserver
7、创建APP(app1)
django-admin startapp app1
8、在settings.py中修改设置
(1)先导入os库:import os
(2)再修改INSTALLED_APPS
(3)在settings.py中templates修改设置
(4)在settings.py中修改时区语言
(5)在settings.py中修改静态路径
9、在templates路径下创建index.html文件
10、在app1的views.py中创建后台逻辑
11、在urls.py中添加路由信息
12、再次运行
**详情参考博客专栏**
Django的知识与案例实现
2 Django实践-02创建应用
1、切换目录
cd djangoproject
2、创建应用
django-admin startapp first
3、修改视图views.py
4、修改Django项目目录下的urls.py文件
5、重新运行项目
python manage.py runserver
6、Django框架中有一个名为render的便捷函数可以来完成渲染模板的操作
(1)在项目目录下创建名为templates文件夹
(2)添加模板页index.html(templates\first\index.xml)
(3)修改views.py文件,调用render函数渲染模板页
(4)新运行项目或直接刷新页面查看
3 Django实践-03模型-01表生成模型+学科页面与教师页面编写
1、创建应用polls
django-admin startapp polls
2、配置模板文件
(1)在templates目录下
登录页面login.html
注册页面register.html,
(2)创建templates/polls目录。在polls目录下创建
展示学科的页面subjects.html
显示学科老师的页面teachers.html
3、配置关系型数据库MySQL
(1)在MySQL中创建数据库,创建用户,授权用户访问该数据库。
(2)在MySQL中创建保存学科和老师信息的二维表。
(3)在虚拟环境中安装连接MySQL数据库所需的依赖项。
pip install mysqlclient -i https://pypi.tuna.tsinghua.edu.cn/simple
4、修改settings.py文件 添加应用 配置数据库
修改项目的settings.py文件,首先将我们创建的应用polls添加已安装的项目(INSTALLED_APPS)中,然后配置MySQL作为持久化方案。
5、基于数据库生成实体类
Django框架提供了ORM来解决数据持久化问题,ORM翻译成中文叫“对象关系映射”。利用Django的ORM,我们可以直接将刚才创建的学科表和老师表变成Django中的模型类。
python manage.py inspectdb > polls/models.py
6、使用ORM完成模型的CRUD(增删改查)操作
在终端中输入下面的命令进入到Django项目的交互式环境,然后尝试对模型的操作。
python manage.py shell
7、实现学科页和老师页效果
(1)修改polls/views.py文件,编写视图函数实现对学科页和老师页的渲染。
(2)创建header.html文件(/templates/header.html)
(3)修改templates/subjects.html和templates/teachers.html模板页
(4)修改vote/urls.py文件,实现映射URL。
4 Django实践-03模型-02基于admin管理表
1、在创建好模型类之后,可以通过Django框架自带的后台管理应用(admin应用)实现对模型的管理。
2、将admin应用所需的表迁移到数据库中。
python manage.py makemigrations
python manage.py migrate
3、创建访问admin应用的超级用户账号
python manage.py createsuperuser
4、运行项目
python manage.py runserver
5、注册模型类
在polls应用的admin.py文件中对需要管理的模型进行注册。
6、对模型进行CRUD操作
7、实现学科页和老师页效果
5 Django实践-04静态资源和Ajax请求
1、修改settings.py文件
2、修改项目的urls.py文件
使用Ajax技术来实现投票的功能,首先修改项目的urls.py文件,为“好评”和“差评”功能映射对应的URL。
3、修改polls/views.py文件
设计视图函数praise_or_criticize来支持“好评”和“差评”功能,该视图函数通过Django封装的JsonResponse类将字典序列化成JSON字符串作为返回给浏览器的响应内容
三、运行结果
pycharm可以使用,但是vscode更方便一些
虽然但是,祝大家周末愉快
如果本篇博客对你有帮助的话,请点赞收藏哦;当然,不足之处,还请大家指正补充。
后续还有更新~~~
最后放几张好玩的图 ~ 嘻嘻 ~