51Testing软件测试论坛

标题: 测试人的自我提升:我的Django初体验 [打印本页]

作者: lsekfe    时间: 2021-3-9 09:40
标题: 测试人的自我提升:我的Django初体验
老同事写了本“Django入门”的书,卖得非常不错还加印了,说明想体验一下Django的人真是不少啊。抱着崇拜的心情上官网研究了一下Django到底是啥,原来就是个采用了MTV框架的开源Web应用框架。
  知道了Django是什么,第二个问题就是它能干什么,然后果断进入某站去找教程,对着无比绝望的翻译,快速把45天入门看了之后发现,果然是个想干嘛就能干嘛的神器,想做个论坛,想做个网页,想画个花,都能满足你。

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

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

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

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

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

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

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

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

  安装命令如下:

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

  在VS Code里打开这个项目:

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

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

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

  把服务启起来:


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

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

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

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

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

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

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

  重启服务:

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

  这个成功说明具备了起码的环境,后面就是用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/e ... hon-version-support
  4.安装Django的时候,尽量找国内的源,pip install xxxx -i <source>,否则每次安装20分钟,且经常在10几分钟的时候报timeout是很让人绝望的。
  5.Pycharm在每次更新代码后会自动重启服务,VS Code中尝试更新了5次代码,自动重启了3次,还没有发现规律,实在显示不出来就直接命令行重启一下服务吧。
  6.由于需要修改的地方比较多,所以如果界面显示不正确,请仔细检查view的名字,引用时候的名字,在浏览器中输入的url和在url中配置的是否一致,后续如果用到model,还要检查对应的model是否引用正确。





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2