Web大作业 瞿祥轩的个人博客 04122071
西 安 邮 电 大 学
(计算机学院)
WEB开发技术大作业
题 目: 个人博客
专业名称: 网络工程 班 级: 1203 学生姓名: 学号(8位): 指导教师: 朱辉 提交时间:2014年12月19日
Web大作业 瞿祥轩的个人博客 04122071
网站主题的意义
本次web大作业制作个人博客站点,通过B/S架构,我们能很方便的把对客户端进行更新、管理等等操作,而且数据库采用开源的MYSQL数据库,成本低、跨平台性能好。而且在服务器配置好PHPMYADMIN后,便可以远程操作数据库,十分方便。本网站采用python作为后台语言,可移植性高。
网站分析
一个人博客应该具有以下几个功能: 1. 登录 2. 注册 3. 写文章 4. 评论文章 5. 文章管理
网站整体思路采取MVC的架构方式:
首先,在前端网页中,CSS样式没什么好说的,应为风格采用了扁平化的方式,CSS样式比较简单。不过在数据交互的过程中,我采用了JS中的Jquery和AJAX,这样会让前端网页在动态中显得更加漂亮。
为了实现动态网页的设计,我采用了python的web框架,使用了jinja2技术来将前端网页模板化,将网页拆成许多个小块,在用的时候,再组成客
Web大作业 瞿祥轩的个人博客 04122071
户能看到的页面。由于python提供的web框架各有所长,所以我重新构造了一个web框架:jinja2来是页面模版化,django来实现socket通信和拦截,web.py来对URL映射。
有了承上启下的web框架之后,就得针对Web App进行api的设计,这里采用REST的方式来设计API,使用的数据格式是JSON,这样就能直接被JS获取,然后我就能把数据进行封装,来完成数据传输。
接下来该设计的就是数据库的连接,底层模块设计的原则是,根据上层调用者设计简单易用的API接口,然后,实现模块内部代码。所以,设计一个db模块,来作为数据库连接的引擎,连接上数据库后,我能使用SQL语句对数据库进行操作,为了避免SQL注入攻击,把SQL中不用的字符作为占位符。
完成底层数据库db模块后,就是设计orm模块的时候,因为使用SQL语句来操作数据库还是有些不方便,所以将SQL语句换为更为简单的API来给上层操作使用。
有了orm模块后,上层模块model就能将数据库需要的表表示出来了。不过,我要提前用SQL脚本初始化数据库,以便调试。
设计和风格说明
我的设计风格以扁平化和简约为主,不多加太多的修饰,让人能一下子抓住重点。 背景以白色为主色(不是纯白),这样子字的颜色选用黑色会显得比较显目,而且白色搭配蓝色我觉得也是一种类似于地中海风格的搭配,总之能让人觉得很是舒服。
为了能让错误提示更加美观,我采用了Ajax技术,这样子,在输入不合法的时候就不会重新加载页面了。
Web大作业 瞿祥轩的个人博客 04122071
对于图标的选用,我也采取当下流行的扁平化的风格,这样的图标虽然简单,但是能传达的信息是非常巨大的。
所需要编辑和支撑的工具软件
由于我才用python来作为后台语言,所以必须要用Python的支持 以下是支持清单: 1. Python2.x
2. Mysql-connector-python(Python第三方库) 3. Jinja2(Python第三方库) 4. Mysql(提供数据库支持) 5. 浏览器(推荐谷歌等浏览器)
因为Python跨平台性好,所以我对系统要求不高,如果实在Linux系统上搭建服务器的话,最好有phpmyadmin来管理数据库 我的编程软件分别为sublime 2和PyCharm
前者我用来写前端网页,后者我用来Python代码,在本机测试的时候,使用自建服务器通过浏览器访问localhost:9000
软件安装后的路径结果
Python及第三方库:C:\\Python27
Web大作业 瞿祥轩的个人博客 04122071
Mysql:C:\\Program Files\\MySQL
数据库设计
数据库ER图: