本文的核心宗旨是与大家分享怎样使用Python解决我们实际中的问题,先学会使用,然后在这个过程中贯穿一些专业知识,加深理解。
本文不会像网上的系统化教程一样先讲一大堆理论让你先学上十天半个月,系统化的教程适合于时间宽裕的人,而这对于需要尽快上手的人来说,是不太适合的。
一、Python安装
安装是很简单的,而且本文也假定你对计算机中软件安装、环境变量的配置、可执行程序路径搜索等相关内容已经掌握。
所以,安装嘛,从官方网站https://www.python.org/下载安装包,然后双击运行,一路下一步即可。Mac OS X系统和Linux系统下也很简单,下载源码包之后编译一遍就好了,网上教程很多,也不是本文的重点,有需求的同学请自动搜索一下吧。
二、创建项目
这里我创建项目试用了PyCharm这一神器,非常好用。这个工具的使用大家可以参考网上的一篇博客,地址:
https://blog.11ms.cn/index/detail.html?id=30如下图所示:
我研究学习试用了下这个工具
工具安装好后,我们就启动它,然后点击左侧的django,右侧输入项目名称,如下图所示:
创建django新项目
然后点击Create按钮就可以了。
这个时候PyCharm会提示类似于这样的信息:
项目组件安装提示
完成后项目结构如下所示:
django空项目
需要注意的是,这个时候,这只是一个网站,里面还没有应用。对于django而言,一个项目就是一个网站,但是一个网站可以有多个应用。比如最常见的是一个项目有个移动端应用、PC端应用、管理后台应用,它们会组成一个完整的项目。
移动端应用当然是手机上访问的,PC端应用是电脑上访问的,管理后台是维护系统数据和运营系统时自己人用的。
在这里我们简单点,先只创建一个应用,方法如下:
在PyCharm中点击下沿的Terminal,打开一个控制台,打开之后会自动停留在当前项目所在目录,你可以尝试使用python命令查看Python的安装情况,我这里测试结果如下所示:
没问题,我这里是Python 3.7
现在,我继续输入指令python manage.py startapp my_blog创建应用,my_blog就是我的应用的名称,结果如下所示:
怎么样?图文并茂吧。
现在,我们就可以点击工具栏的运行图标启动工程了:
PyCharm的运行命令
运行之后,默认自动打开127.0.0.1:8000,浏览器中会显示下面的画面:
django项目创建成功
三、功能开发
项目创建好了,应用也创建好了,现在我们要做的事情就是开始功能开发。
功能开发逻辑也很简单,最主要是要做好三件事情:
配置请求路由,也就是用户由什么网址进入什么功能编写视图处理函数,这是响应用户请求的逻辑,都要写在这里的用户页面视图,使用我们系统的,会看到的页面,我们使用django自带的模板功能我们先使用django框架自带的模板功能编写一个用户页面,然后再写一个视图处理函数,让这个视图处理函数为用户返回我们编写的页面,最后在路由上配置一下即可。
第一步:编写视图页面:
视图页面,这是我们的首页
第二步:编写视图处理函数:
视图处理函数
第三步:路由配置
这一步很好理解,你的页面写好了,处理函数也写好了,你得让用户能访问,让用户看到你的页面。
路由配置
首页当然是根路径请求就直接打开首页了。好了,现在我们的功能开发完了,很兴奋吧?但在这里先说一个问题:
django的热加载机制
你改了东西之后,不必重启项目,django自动帮助你重新加载。
如果你改了东西之后没有自动刷新,django的热加载没生效,你可以在编辑器中按CTRL+S键。
然而当我们的修改被刷新之后,你在浏览器中兴奋的刷新127.0.0.1:8000的时候,你却发现这个错误页面:
页面找不到的错误提示
没错,这里是我坑了你,无数刚入坑的人在这个地方会犯错,所以,你的页面就打不开了,解决方法很简单:
根路径不能直接使用/,我们要使用空当你在url路由配置中使用空去访问首页的时候,你不能把它放在后面,你要把它挪到前面:来图:
记住,路由要这么写!
改好了,我们继续刷新看结果,令人崩溃的是,又出现了这个错误:
模板文件找不到的错误
这个错误也很常见,大家要注意了。
出现这个错误的原因很简单,我们用django的视角给你解释这个问题:你创建了一个django网站,又创建了一个my_blog应用,你从网站的urls路由中请求你的应用的首页,可是它们却找不到你的应用的首页的模板。
清楚问题出现的原因那就简单咯,去你的这个django网站的settings.py配置文件中把你的my_blog配置上,让网站能够找到它,就好啦!
在网站项目中配置自己的应用
再刷新看看:
大功告成!
怎么样?是不是OK了?
开发一个网站就是这么简单的几个步骤,如果大家遇到问题,请在评论栏给我留言。我会及时回复。
下一期文章我会给大家分享怎么开发复杂的业务功能,完成一个比较“正经”的网站系统的功能开发。
举报/反馈