第一篇文章多多指教哦,这个也是今晚第一次开始学习Django框架,文章中关于工作目录的下方具体解释是看一个大佬的博客的。十分感谢雅,哈哈哈哈。
(本人今年大学刚毕业,入职软件测试行业,大家有同行的,或者pythonWEB开发的大佬请多多指教哦,谢谢谢啦。希望这篇文章能够帮助到需要的小伙伴。)
操作如下哦:(cmd窗口操作)
pip install virtualenv
pip install virtualenvwrapper
>mkvirtualenv 查看是否安装成功
workon 查看创建了哪些虚拟环境
创建虚拟环境
mkvirtualenv django_demo01
切换到想要的虚拟环境
workon 虚拟环境名字
查看安装了哪些
pip list
安装django具体安装哪个版本根据自己安装的python版本来对应安装会好一点,我的是3.8的,具体对应的版本是django官方文档里面查看的,大家可以自己去查看一下自己对应的版本安装哪个版本合适,一般django3.8版本和4.0,4.1都能够覆盖了
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn django==3.2
然后在自己创建的工作目录中打开cmd
我的是D:\DjangoWork
然后进入到自己创建的虚拟环境 workon djangodemo01
创建第一个django项目
(djangodemo01)D:\DjangoWork>django-admin startproject bookmanager ( 启动命令)
( bookmanager为自己的项目名字)
(djangodemo01) D:\DjangoWork>tree /f (查看目录结构)
D:.
└─bookmanager
│ manage.py 项目管理文件 通过这个文件进行项目管理 比如启动项目服务 创建应用 数据库迁移等等
│
└─bookmanager
asgi.py
settings.py 对整个项目进行设置
urls.py 路由配置文件
wsgi.py wsgi应用入口 可以创建wsgi应用实例 提供给wsgi服务
__init__.py
init.py 这个文件将所在目录标识为python包,文件内部可以不放任何代码。
wsgi.py 是Web应用(Django)与web服务器(uwsgi)间的桥梁,uwsgi接受并整理请求后通过wsgi调用我们的Django应用并获取到响应,这样便完成了一次请求。
asgi.py 则是相当于wsgi的升级版本,可以让django支持异步视图,从而可以增大django并发量
urls.py 是django的主路由,可以在此处关联不同app中的子路由
settings.py 这个文件用于存储各种各样的项目级别的配置,比如数据库配置,中间件语言,时区等
cd bookmanager
python manage.py runserver(运行的指令)
如果报错
解决1:
Quit the server with CTRL-BREAK.
Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
按照以下操作:(因为端口被占用 因为Flask默认占用5000端口 因为我安装了有 直接干掉)
netstat -ano|findstr 5000
taskkill /pip 输入查出来的端口号 /F
解决2:
不要多开正在运行的自己的工作目录D:\DjangoWork 我就是多开所以报错
直接全部关掉从切换到自己的虚拟环境(这个不做讲解了和前面一样的),再次进入到目录执行如下:
cd bookmanager
python manage.py runserver
这样启动就成功了 访问地址就有界面了 http://127.0.0.1:8000/ (不要关掉cmd窗口哦,启动结束后看到窗口运行成功再关闭,关闭了就无法访问报错500了)
附录:
大家下载插件时的一些国内镜像,下载pytest,selenium,django这些都很快。
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
我的django没有用这些镜像,因为一直报错,搞了好久也没有搞好,后来看了一篇大佬的博客直接解决,就是我上面下载Django的哪个命令,可能是因为缺少了下面这几个文件中的有几个插件,因为正常下载的话我的里面的几个是没有的,但是多了也不会报错,不影响使用,具体的哪几个大家用国内镜像或者直接使用 pip install django==3.2下载后对比以下:
pip list
Package Version
----------------- ------------
asgiref 3.7.2
Django 3.2
pip 23.3.1
pytz 2023.3.post1
setuptools 69.0.2
sqlparse 0.4.4
typing_extensions 4.8.0
wheel 0.42.0
还有就是在做在ui自动化过程中对于浏览器驱动一些的设置,因为我们做ui自动化的时候需要下载浏览器对应的驱动,会比较麻烦。我在网上一个叫华测的教学视频学习到了解决方法,挺好用的,不用去安装对应的驱动,用代码去实现:
-----在ui自动化过程中对于浏览器驱动的设置
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChormeService
接下来:
pip install webdriver_manager
from webdriver_manager.chrome import ChromeDriverManager
webdriver.Chrome(service=ChormeService(ChromeDriverManager().install()))
(因为我自己不做UI自动化,我是做接口自动化的,用到的工具就是jmeter、apifox,还有就是自己用python去写接口自动化脚本,后续会发一下自己写的脚本框架和遇到的问题,要是自己能够有幸遇到同行或者大佬请大家多多帮助和指导,小菜鸟谢谢各位了。ui自动化就是学习了一下,挺不错的,不知道在各位小伙伴的电脑能否运行成功,我的成功了。大家有兴趣可以自己尝试一下。)