目录
混沌中的独白(前言)
一切的开始
环境准备
创建你的第一个Django项目
创建第一个APP
本人是个编程菜鸟,但是比较享受创造的快感(虽然这么说又尬又怪),虽然接触到过很多种语言,却只钟情于Python,实在是因为它简单的语法逻辑以及强大的第三方支持。Python真的非常适合用来制作小玩具,而本次我们不在满足于小玩具的制作,我们希望制作一个可以拥有完善功能的网络社区,恰好有很多基于python的网络框架,我们这次就用最为便捷的Django吧。
这里用了网络社区而非论坛一词,是因为我们希望这个平台中用户的交互更加丰富。在这个娱乐平台百花齐放的今天,每一个平台都各具特色,带着自己别具一格的文化风格,吸引着千万向往乐趣,向往交流,向往归宿的年轻人。不得不说,现在的网络社区比起现实中的社区更加活跃,每个用户在自己社区中的主页比他们上千元租的单身公寓更有温度。
你可能创造过属于自己的博客,但现在想不想试一试创造一个属于自己的网络社区呢?本系列教程面向学习Python新手甚至是没有学习过编程的小白,在各个环节会尽可能讲的细一些,当然如果你是小白的话,一定会对其中的很多概念,操作存在疑问,欢迎你们在评论区问我,我也会在教程中把我参考过的书记,文章,教程等的链接给出,当然更希望大家可以拓展更多的教程外内容。如果大家对本教程有什么意见或建议欢迎指出,我会根据建议对教程进行修改和补充。
编程语言:Python3.6.5,下载地址:https://www.python.org/downloads/,
现在Python已经不用去手动添加环境变量了,点开安装程序就全自动安装了,真的是太方便了。安装结束后win+R输入cmd按Enter,打开CMD,输入python会提示python版本,这就表明你安装成功了。
编辑器:你的程序得有一个地方写的嘛,我是使用了ATOM文本编辑器来写程序的,但是这个东西安装配置太麻烦,强烈不推荐新手使用,果然还是官方?的pycharm比较好用哦。下载网址:http://www.jetbrains.com/pycharm/
更细致的安装教程:https://blog.csdn.net/ling_mochen/article/details/79314118
Django框架:这里我们使用python自带的下载管理工具pip下载并安装Django,这个超好用的,你只需要在CMD中输入pip install Django,pip就会自动为你安装适用于你的Python版本的Django。当然,你也可以在GitHub上下载Django的压缩包,解压并和Python安装目录放在同一个根目录,然后在CMD中输入 Python setup.py install 就可以进行安装了。
这里我将Django中文文档分享给大家,里面对于安装介绍的更详细,而且会对Django中的很多模块,功能,类都有详细的介绍,我们使用Django框架进行开发,一定少不了对其文档的阅读。文档地址:https://docs.djangoproject.com/zh-hans/2.1/
PS:讲道理这种网站的架设都会放在Linux服务器上的,所以可以直接放在Linux环境下开发,不过我们作为普通个人开发者就不搞那么麻烦了,我们直接在Windows下进行开发,反正到时候也能移过去。
安装Django后输入:py -m django --version 来查看你的Django是否成功安装,如果成功安装你会看到它的版本提示信息。
这时你就可以开始创建你的第一个Django项目了,打开命令行,cd
到一个你想放置你代码的目录,然后运行以下命令:
django-admin startproject projectname
projectname是你的项目名字,你可以随便给项目起一个好听的名字。我的项目叫CHDBBS,CHD是我母校的名字,其他学校都是XXU这种格式,我的母校还是挺有特点的。
输入完命令,你的目录中应该就有了名为projectname的文件夹了,这是Django为你自动创建的工程必要文件,来看看这里面都有什么吧!
CHDBBS/
manage.py
CHDBBS/
__init__.py
settings.py
urls.py
wsgi.py
这些文件的冲击力还是有点小,我们能否直接在浏览器中看到可视化项目呢?
那是当然,在CMD中 cd 到该项目目录(当然你现在应该就在这个目录下吧),输入 python manage.py runserver ,你会看到:
Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
七月 18, 2019 - 15:17:53
Django version 2.1, using settings 'CHDBBS.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
强大的 manage.py 已经让你的项目在你本地的8000端口运行起来了!
打开你的浏览器访问 http://127.0.0.1:8000 Surprise!火箭升空了哦!这是Django对你开启项目的庆祝。
我也送你一首Rocket为你庆祝吧!Rocket-红花会
现在你已经开启了自己的第一个项目,我们既然要做网络社区而非简单的论坛,我们肯定希望我们的社区有丰富的交互内容,不如我们把这些内容按大功能模块划分成几个小的应用(APP),然后逐一实现。
在项目目录下输入:py manage.py startapp appname
这里的appname就是你的应用名,我们就先把核心论坛模块实现吧,这里我的appname是Article。
这样又会生成一个新的目录了:
Article/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
好了,到这里我们先停一下。我们可以稍微了解下Django的工作流程。
我们可以看到在B/S模式(浏览器/服务器模式)中,用户通过浏览器对控件按钮进行点击,点击后由浏览器发送请求,请求经过层层封装后通过路由器几经辗转到达后台服务器,服务器对该请求进行解析,处理完成后将处理结果封装传回给用户。
而Django则负责了服务器对请求的解析过程,Django是一个基于Python语言的开源Web应用框架,采用类似MVC的MTV模式,由模型类model,视图模板类template,后台控制渲染类views,部分中间件,及自带的站点管理admin等组成。同时,是一个基于请求的CMS(内容管理系统)框架。
Django模型类Model处理与数据模型相关的所有内容,负责与数据库的交互,支持目前绝大多数数据库如mysql,redis,SQLserver等,Django自带的迁移命令可以直接将模型类转化为数据库表单,方便快捷。视图层View处理业务逻辑,并将处理后的数据返回一个规定渲染的模板。模板类Template存放所有web前端页面,在请求经过view视图处理后进行渲染,template中的模板可以使用简单的Python语言对页面与数据进行处理。在调试时,可以使用框架自带的manage.py的runserver命令启动服务器,并实时调试。Django可以部署运行在Apache,Nginx,WSGI等服务器上。
如下图: