通过学习虫师的《Python web接口开发与测试》一书记录并总结一些主要知识点和心得。
2017.12.04
1. 创建一个Django项目
前提:安装好python和Django,以及需要一个IDE,之前的python程序都在Eclipse IDE中编辑,现在使用Atom来编辑,界面更简洁清晰。
项目背景:开发一个会议签到系统,在这个系统(或者叫项目)中会有很多应用(App)。今天先学习的是登录应用。
(1)新建项目
安装好Django后,使用它提供的"startproject"命令新建一个项目
django-admin startproject
(2)新建应用
项目创建好后,先创建一个登录应用。
创建好项目后,会自动生成manage.py文件,执行文件发现,改文件提供了创建应用的命令"startapp"
python manage.py startapp
这里有个小疑问:执行"django-admin"和“python manage.py”给出的命令一部分是重叠的。创建应用的时候是否能用“django-admin”来执行?
(3)向浏览器输出"Hello Django!"
经过(1)、(2)步骤,项目中会自动生成一些框架性文件,通过在某些文件中添加内容,即可实现向浏览器输出"Hello jango!"文字。
在创建项目时生成的urls.py文件中添加url路径配置;在创建应用时生成的views.py文件中添加url对应的数据处理;如果想用HTML代替字符串,则需要在应用文件夹下新建template/文件夹,并将对应的html文件放在该文件夹下。
模板系统的设计使得程序在业务逻辑(views.py)和表现逻辑(XXX.html)明显隔离。
2017.12.05
1. Django开发模式-MTV(module-template-view)
设计模式:数据驱动Web应用
MTV -> MVC
Django已经将MVC中的C集成在了框架中,由框架自动完成,而MVC中的V对应到Django架构中,被拆成了T和V,这是Django的开发模式MTV的来源。
2. Django视图view
处理用户输入的数据,并决定向用户展示什么样的结果。
3. cookies & session
cookies客户端浏览器存储用户信息的一种方式,session服务端存储用户信息的一种方式,较cookies更安全。
2017.12.06
1. Django认证系统
(1)admin管理后台:用户表、组表
Django有自带的admin管理后台(127.0.0.1:8000/admin/),在这个后台可以新建项目要用到的数据库表,并添加数据。
(2)“关窗”
正常讲,网站的所有页面均需要验证当前用户的登录信息,通过后才会展示。但是在未“关窗”前,即使用户不登录,只要获取了页面的url地址也能访问。
为了“关窗”,Django提供了一个非常方便的方法,在url地址对应的view函数定义前添加“@login_required”
2. Django模型
(1)创建发布会表、签到用户表
(2)数据库操作及工具(跳过,未细学)
2017.12.08
1. Django模板
虽然Django提供了admin管理后台,可以管理各个数据库表,但是在涉及的系统中,还是需要脱离开admin,开发自己的数据管理页面。
(1)Django-bootstrap
" Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使得 Web 开发更加快捷。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。"
使用bootstrap前要先安装,在项目文件夹下运行pip命令安装。
python -m pip install django-bootstrap3
对HTML与CSS不那么精通,照猫画虎写了两个页面(发布会信息管理页面、嘉宾信息管理页面)。
(2)分页器
(待总结......)
2. 开发签到功能