• 13
  • 13
分享
  • 测试人的自我提升:我的Django初体验——软件测试圈
  • 曼倩诙谐 2021-03-12 10:07:43 字数 1930 阅读 1090 收藏 13

  老同事写了本“Django入门”的书,卖得非常不错还加印了,说明想体验一下Django的人真是不少啊。抱着崇拜的心情上官网研究了一下Django到底是啥,原来就是个采用了MTV框架的开源Web应用框架。

图片 1.png

  知道了Django是什么,第二个问题就是它能干什么,然后果断进入某站去找教程,对着无比绝望的翻译,快速把45天入门看了之后发现,果然是个想干嘛就能干嘛的神器,想做个论坛,想做个网页,想画个花,都能满足你。

图片 4.png

  下面就step by step的try一下这个神奇的工具吧,首先需要个IDE。在看了无数视频之后,发现还是pycharm更友善一些,在新建工程里面可以直接选择Django模板,自带Project和App,省心省力,但是仅限于Professional版。也就是说如果不想花钱,Community版的是不支持的。

图片 7.png

  于是退而求其次,问了几个大神的意见之后,选择了VS Code(Visual Studio Code),毕竟它还算是免费的IDE中最好用的。

图片 8.png

  然后就开始制作自己的第一个网页,先把python装好,然后创建一个虚拟环境。在很多教程里发现了virtualenvwrapper这个插件不错,可以简化很多虚拟环境的步骤,也便于后续多环境多项目的管理,命令如下:

5.png

  安装完成后,只要添加一个系统环境变量WORKON_HOME,在创建虚拟环境的时候就可以直接创建到指定的目录下了。

6.png

  开始创建虚拟环境,命令如下:

7.png

  进入刚刚创建的虚拟环境:

8.png

  正式开始之前,要选择Django版本安装。我们可以从下图看到,LTS代表的是持续维护的版本,所以尽量选择标有LTS的版本。

9.png

  还要确定Python版本和Django是兼容的:

9-1.png

  安装命令如下:

10.png

  一切就绪,我们要开始创建项目了:

11.png

  在VS Code里打开这个项目:

12.png

  选择Interpreter,在VS Code中,Ctrl+Shift+P,搜索Interpreter:

13.png

  由于新建的虚拟环境的解释器不在list中,所以我们选择Enter interpreter path...

14.png

  再选择虚拟环境下的python.exe:

15.png

  把服务启起来:

16.png

  就能看到成功的第一步了:

17.png

  在输入http://localhost:8000/admin后,可以看到它自带了admin:

18.png

  接下来需要做的就是创建一个app,由于Django本身是非专业人士制作的,所以对于一些叫法,大家就不要太纠结了。命令如下:

19.png

  同时,我们在项目中可以看到,刚刚创建的app已经显示出来了:

20.png

  紧接着我们需要做的是在setting中,将刚刚创建好的这个app加入到installed_apps里面:

21.png

  在views中加入需要显示的内容:

22.png

  在url中添加刚刚的view显示的url:

23.png

  重启服务:

24.png

  刷新页面,第一部分成功了!

25.png

  这个成功说明具备了起码的环境,后面就是用model之类的功能,制作我们需要的标题、文本框、选择框、下拉框、权限控制,做个真正像样的web页面啦,我会在后续的文章里面继续记录初体验,敬请关注。这里我们来总结一下安装过程一路趟过来的坑哈:

  1.IDE选择:如果有钱,Pycharm Professional绝对是第一选择,各种自带功能和界面操作会让生活轻松很多;否则,VS Code需要用命令创建项目、创建App、改配置setting中的一些东西……

  2.虚拟环境:推荐virtualenvwrapper,如果不习惯,virtualenv命令也是可以的。

  3.Django的版本选择:一定要选择兼容的版本,比如Django 2.2就一定要搭配Python 3.5以上版本,具体的对应关系可以在Django官网上查到。链接在此:https://docs.djangoproject.com/en/3.1/faq/install/#faq-python-version-support

  4.安装Django的时候,尽量找国内的源,pip install xxxx -i <source>,否则每次安装20分钟,且经常在10几分钟的时候报timeout是很让人绝望的。

  5.Pycharm在每次更新代码后会自动重启服务,VS Code中尝试更新了5次代码,自动重启了3次,还没有发现规律,实在显示不出来就直接命令行重启一下服务吧。

  6.由于需要修改的地方比较多,所以如果界面显示不正确,请仔细检查view的名字,引用时候的名字,在浏览器中输入的url和在url中配置的是否一致,后续如果用到model,还要检查对应的model是否引用正确。


作者:Bella   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   在展开今天的内容之前,我们先来看一下,是不是任何一个测试都可以学习性能测试。  如果说需求、开发、DB、运维、测试是单一一门学科,那么性能就是综合学科,它包含了需求分析、DB、开发、测试、运维的所有学科。  所以说,学习性能测试,你前期需要懂的是需求分析、DB设计、程序开发、自动化测试、运维。  所以今天的内容是性能分析的一大重点,也是一大难点!  WebServer服务优化  对于Web服务性能优化的方向,一般是:  页面静态化:比如访问的页面,先进行静态化后提供访问,减少DB负担;  减少页面的Size:  减少尺寸、CSS合并、JS精简等;  客户端缓冲、样式等;  去掉无用请求与数...
            0 0 832
            分享
          • 简单的写写 id,class,name,text定位吧,xpath上片文章详细解答了在学习html页面的同学都知道,html里的标签属性有id、class、name、text等等吧?接下来我们就简单的讲讲如何定位id、class等#首先先导入包 from selenium import webdriver #其次打开浏览器,访问百度 driver = webdriver.Chrome() driver.get("http://www.baidu.com")打开百度,我们按F12,点击百度一下,看看它有个ID属性,那在代码里,...
            0 0 465
            分享
          •   测试人初到一个公司,往往公司的测试团队和规模已经完善,我们需要做的就是跟着公司的节奏走。因为相应的制度和流程已经完善,不需要额外操心太多与测试执行层面无关东西。  但是当流程和制度没有的情况下,我们应该怎么办呢?  本篇文章适用于初到一个公司、公司新引进测试流程,却不知道如何从0开始的同仁。以下是我近期的总结,方案有可能不是最完美的,但可以参考,有一定的借鉴作用。  整篇文章逻辑结构:  首先介绍什么是落地;  其次更为重要的思想;  最后经过这一年总结还有哪些不足之处,进而指出我打算接下来执行的方案。  何为落地  不知道大家接触过“落地页”这个词没有,我是在需求介绍文档里第一次见到这个...
            0 0 520
            分享
          • 常用的Python自动化测试框架有Robot Framework、Pytest、UnitTest/PyUnit、Behave、Lettuce。软件测试的自动化在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。自动化测试以人为驱动的测试行为转化为机器执行的一种过程。实现软件测试自动化用到一些Python自动化测试框架:一、Robot FrameworkRobot Framework主要被用在测试驱动类型的开发与验收中。虽然是由Python开发而来但也可以在基于.Net的IronPython和基于Java的Jython上运行。作为一个Python框架Robot还能够兼...
            0 0 572
            分享
          •   简单介绍selenium  是一系列基于Web的自动化工具,提供一套测试函数,用于支持Web自动化测试。函数非常灵活,能够完成界面元素定位、窗口跳转、结果比较。  我们经常是拿来做一些爬虫相关的工具,自动爬取一些数据。  WebDriver  在WebDriver中也有类似的三个角色:  工程师写的自动化测试代码:自动化测试代码发送请求给浏览器的驱动(比如火狐驱动、谷歌驱动)。  浏览器的驱动:它来解析这些自动化测试的代码,解析后把它们发送给浏览器。  浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作。  一些思考  定位元素  经常使用的是下面两个方法。   cli...
            0 0 280
            分享
      • 51testing软件测试圈微信