登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 物联网工程 > 正文

基于Django的“萌宠之家”网站设计与实现毕业论文

 2020-02-19 18:01:08  

摘 要

如今社会,计算机网络迅猛发展,网络时代来临,电子商务日益兴起,网上购物已经成为了人们生活中的一部分。对于商家而言,出色的网站才能赢取消费者青睐,所以设计一个对用户友好方便的网站是非常有必要的。

Python作为一种面向对象的脚本语言,具有语法简单,代码易读性高,扩展性强的优点。Django这一Python最受欢迎的Web框架,前端有强大的模板语言,后端有自动的后台管理功能,同时提供了强大的数据库API。Python搭配上Django,再利用bootstrap和模板语言足以快速开发一个合格的网站。

本文基于Python语言与Django框架,开发以“萌宠之家”为主题的电子商务网站,完成电子商务网站的基础功能。其中网站分为前端和后台管理,前端使用了Bootstrap框架,包含了浏览商品,购买商品,评价商品等功能。后台包括对用户,商品,订单管理等。

关键词Python;Django;Bootstrap;电子商务网站

Abstract

Nowadays, because of the rapid development of computer network, the advent of the network era and the rise of e-commerce, online shopping has become a part of people's life. For stores, excellent website can win the favor of consumers, so how to design a user-friendly convenient website is very necessary.

Python, as an object-oriented scripting language, has the advantages of simple syntax, high code readability and strong expansibility. Django, Python's most popular Web framework, has a powerful templating language on the Web front end, automatic back-end management on the back end, and a powerful database API. Using Django with Python and bootstrap with the template language is enough to quickly develop a decent website.

Based on the Python language and Django framework, this paper develops an e-commerce website with the theme of "home of adorable pets" and completes the basic functions of e-commerce websites. The website is divided into front-end and back-end management. Bootstrap framework is used in the front-end, which includes functions such as browsing, purchasing and evaluating goods. Background includes user, goods, order management and so on.

Key Words:Python;Django;Bootstrap;E-commerce website

目 录

第1章 绪论 1

1.1研究目的及意义 1

1.2国内外研究现状 1

1.3论文的主要内容和论文结构 2

1.3.1 研究的主要内容 2

1.3.2 论文结构 2

第2章 软件开发环境 3

2.1 Python语言 3

2.2 Django框架 3

2.2.1 Django概述 3

2.2.2 Django设计理念 4

2.2.3 Django工作原理 4

2.2.4 MTV开发模式 5

2.3 Bootstrap前端框架 6

2.4 JetBrains PyCharm 2018.3.2 6

2.5 MySQL数据库 7

第3章 “萌宠之家”电商系统需求分析 8

3.1功能需求分析 8

3.2 系统功能结构分析 8

3.3 用户和管理员的功能划分 9

3.3.1 普通用户模块 9

3.3.2 管理员模块 10

第4章 数据库设计 11

4.1数据模型设计 11

4.2 数据库实体属性设计 11

4.3表设计 12

第5章 系统实现 15

5.1表单功能实现 15

5.1.1 表单类设计 15

5.1.2 图形验证码 15

5.2配置URL 15

5.3 模板语言 17

5.4 视图函数 17

5.4.1 首页显示 17

5.4.2 登入与注册 18

5.4.3 个人信息 23

5.4.4商品显示 23

5.4.5 搜索功能 24

5.4.6 购物车模块 24

5.4.7 后台管理 26

第6章 结论与展望 28

参考文献 29

致 谢 30

第1章 绪论

1.1研究目的及意义

购物消费是自古有之,随着网络时代到来,从传统的门店购买,演变到如今的足不出户货比三家--网上购物,购物的方式经历了巨大的变化。对于个人来说,网上购物本质就是电子商务,但实质上,电子商务不仅包含网上购物,还包含其他的活动

电子商务的本质依旧是商务,但手段信息化电子化了,它以全新的平台取代传统的交易平台。电子商务以减少流通环节的方式,降低成本,实现盈利。

一个良好的电子商务网站是电子商务系统的门户,电子商务系统在这上面发布相关信息、实现各种管理、与顾客达成交易。

搭建一个网站的方式多种多样,但是对于这个节奏快的时代,就快速开发而言,Python搭配Django具有极大的优势,Django是基于Python语言的Web开发框架,基于MVC理念。Python语言本身又属于好上手,非常适合新手学习的语言。这两者配合起来可以简便快速地开发一个数据库驱动的网站。所以,研究Python和Django是具有一定的研究价值的。

1.2国内外研究现状

目前网站开发技术可有多种选择。常见的大型网站开发可以选择PHP Oracle,Web应用系统大部分都使用Asp.Net SQL,政府和大型企业Web开发一般使用Jsp Oracle比较合适[1]。国内外的电商网站大多数是采用以上的开发技术,但也有一些网站从单语言开发替换到多种语言开发。国内较大的电商网站,例如淘宝,淘宝网前台和应用层使用PHP开发,后台逐渐过渡到处理数据库有优势的JAVA,京东电子商城,当当网则是使用Asp.Net开发,国外亚马逊商城则是使用perl开发。

国内使用到Django开发的网站主要有今日头条,今日头条的内容发布系统使用了Django框架,一部分后端系统还使用了PHP。国外使用的Django的大型网站有Instagram,Instagram逐渐从Python2迁移到Python,还对Django做了了各种各样定制化工作,例如扩展 Django Models 使其支持 Sharding (一种数据库分片技术),手动关闭垃圾回收机制来提升 Python 内存管理效率,在各地的多个数据中心部署他们的系统。他们还使用了多种手段缓解性能问题,例如开发工具来帮助调优,使用C/C 来重写部分组件,使用Cython。如今Instagram的月活用户达到七亿,Python Django并没有成为开发的瓶颈,相反它足以负载用户数以10亿计的服务,仍然可以被使用。

相对于主流的动态网站开发环境,作为后来者的Python Django遵循MVC设计理念,提供完善的模板样式,提供了一个admin后台管理页面和对象映射机制。利用Django可以快速开发一个具有MVC层次的网站。同时Django提供的在Python类中定义的数据模型类配合对象相关映射机制,大大简化了SQL繁杂的语句,降低了开发难度,支持动态数据库访问API。更适合初级程序设计开发人员的使用,在实际开发应用中,Django能够快速构建系统的整个结构[2]

1.3论文的主要内容和论文结构

1.3.1 研究的主要内容

本文介绍了基于Django框架基础上进行开发并以“萌宠之家”为主题的电子商务网站,运用Python Django,搭配Bootstrap前端框架和MySQL数据库进行开发。网站系统开发采用MVC模式,更确切地说是MTV模式,以Python作为主要开发语言,以Pycharm作为主要开发工具,前端使用bootstrap前端模板,后台数据库使用MySQL。该网站系统能够实现商品首页,登入注册功能,查看修改个人信息,商品展示购买管理等功能。对于后台管理人员,利用Django后台自带的admin站点进行后台管理,简化了操作,提高了管理效率。对于普通用户,可以登入注册,按分类浏览商品,购买商品,进行常规的电商平台操作。

我主要的研究任务就是查阅Django的相关文献,深入学习Django搭建网站的过程,参考国内现有的电商系统功能,开发一个以萌宠为主题的电子商务网站

1.3.2 论文结构

本文分为五个部分,具体如下:

第 1章绪论,简单介绍了开发网上商城的研究背景与意义,国内外的研究状况,研究的主要内容,论文结构。

第2章系统开发所用的工具与应用的技术,简单介绍了开发系统过程中使用的语言,工具,等相关技术

第 3 章“萌宠之家”网站的需求分析,进行需求分析,介绍系统功能结构、各功能模块。

第 4 章数据库的设计

第 5 章系统实现,“萌宠之家”网站的详细设计,详细介绍了网站的各个模块的功能,展示各个功能模块的界面。

第2章 软件开发环境

2.1 Python语言

Python诞生于20世纪90年代初,创始人是Gudio van Rossum,Python作为一种脚本解释语言根据Gudio的设想,继承了ABC语言的优点,并克服了ABC语言非开放性的弊端,优美并且功能强大。

在国内Python的应用范围不广,但是在许多欧美国家里,Python作为一种流行的编程语言被广泛地使用。比如,Google在很多项目中用Python作为网络应用的后端开发工具,典型的有如Google Groups、Gmail、Google Maps等,国外著名社交分享网站Reddit ,最早用Lisp开发,在2005年转为Python开发。在国内,比较出名的Python开发的就是豆瓣,今日头条等,豆瓣使用纯Python开发,而今日头条使用的是Python Django。除此之外,Python还可以应用于网络游戏开发和动画制作。

Python作为一种脚本语言,能够多平台进行各类大规模软件开发;它是一种完全面向对象的语言,支持类的继承、重载、派生;同时Python拥有一个强大的标准库,并且Python作为开源语言,提供了许多高质量的开源第三方库,使得Python功能更加完善,只需找到相关的库使用;Python支持跨平台使用,经过一些修改即可移植到不同的平台上;用C或C 就可以对 Python的功能进行扩充[6]

业界有一种说法,Java三四行代码,Python一行代码。Python具有简洁,易上手的特点,所以选择Python作为开发语言

2.2 Django框架

2.2.1 Django概述

Django项目是一个Python定制Web框架,属于Python三大Web框架之一。它最早起源于一家新闻站点,在2005年实现开源,并于2008年9月份上线了第一个正式版本1.0。Django鼓励快速开发,遵循MVC设计理念。

Django框架的核心组件如下:

(1)用于创建模型的对象关系映射

(2)为最终用户设计完美的管理界面

(3)一流的URL设计

(4)设计者友好的模板语言

(5)缓存系统

2.2.2 Django设计理念

Django一直的设计理念是简便快捷地开发网站。Django强调代码的复用性,以及可拓展性,由于Python的开源性,便有了很多第三方的库,能以插件的形式继续使用,同时开发自己的工具包也很方便。Django还强调快速开发和DRY(Do Not Repeat Yourself)的原则[7]

Django基于MVC的设计:

(1)对象关系映射(Object-Relational Mapping,ORM):在项目中,以Python类的形式定义数据库中的数据模型,ORM将模型与关系数据库连接起来,成为数据库迁移,Django为此还提供了相应的非常简洁的数据库API。

(2)URL分配:使用正则表达式来匹配URL

(3)模板系统:Django提供强大而可以扩展的模板语言。在模板中可以将设计内容和Python代码分割开。

(4)表单处理:利用表单类,可以快速处理各种自定义的表单,实现检验。

(5)Cache系统:挂载内存缓冲或者其他的框架实现超级缓冲

(6)会话(session):会话控制,可以进行用户登入,权限检测

(7)国际化:可以开发出多种语言的网站,国际化。

(8)自动化的管理界面:不需要用大量的工作对后台内容进行维护。Django自带一个Admin Site后台管理系统。

2.2.3 Django工作原理

流程如下:

  1. 用manage.py runserver启动Django服务器
  2. 同时载入同一目录下的setting.py。该文件包含了项目中的配置信息,如URLConf
  3. 当访问URL的时候,Django会根据ROOT_URLCONF的设置来装载URLConf。其中最重要的配置就是ROOT_URLCONF,他告诉Django哪个Pythonmo模块应该作为本站的URLConf
  4. 然后根据顺序逐个匹配URLConf里的URLpatterns。如果找到就会调用相关联的视图函数,
  5. 最后,该view方法负责返回一个HttpResponse对象

工作原理如图1所示:

图2.1 Django工作原理

2.2.4 MTV开发模式

Model-View-Controller(MVC)模式是由数据存储、业务逻辑与表现逻辑三者组合在一起。Django遵循MVC设计理念,但又对其进行了独特地改进。其中M代表数据存储部分, V代表选择显示那些数据以及怎么样显示的部分,由视图和模板处理,C根据用户输入再控制视图的部分,根据URLConf设置,当访问特定URL时调用对应的视图函数。由于C这一部分由框架自行实现, Django里更加关注的是模型(Model)、模板(Template)和视图(View),Django也被称为MTV框架。

在MTV开发模式中:

M代表模型(Model),即数据存取层。该层处理与数据相关的所有事物,即如何存取,如何有效验证

T代表模板(Template),即表现层。该层处理与表现相关的决定,即如何在页面或其他文档中显示

V代表视图(View),即业务逻辑层。该层包含存取模型与调取适当模板的相关逻辑,相当于模型与模板之间的桥梁。

实际上.NET和J2EE这些开发平台作为主流平台,由于其卓越的跨平台型和开放性,更受大多数程序开发人员的喜爱,但是基于J2EE的开发平台在结构上存在冗余和实际开发难度高的问题,影响到了程序员的开发速度。程序员难以入门,需要配置大量文件。轻松好上手的Python和Django就成了一个更好的选择,清晰的结构,能够快速构建系统,同时还有很多第三方库,很多相关技术支持。

基于以上原因,本次毕业设计选择Django作为开发框架

2.3 Bootstrap前端框架

Bootstrap最早起源Twitter,是一款非常好用的前端框架,Bootstrap是也是由HTML、CSS、JavaScript三者组成的,网上具有非常多的开源模板,可以借助这些模板快速开发一个合格的前端页面。Bootstrap作为一个成熟的前端框架,已经成为快速开发Web应用的主流。相比较于,自己设计HTML页面,编写CSS和JS文件,繁琐地重复地修改前端,达到美观地程度,Bootstrap既缩减了大量开发时间,又能实现页面美观。

在本文中,该系统可以将Bootstrap集成到Django项目中,作为Django的一个应用提供。好处是在Django中用Bootstrap会更加方便。

2.4 JetBrains PyCharm 2018.3.2

Python具有很多开发工具,例如Sublime Text3,Atom,PyCharm等,相比于命令行编写代码来说,这些工具大大提高了工作效率。其中PyCharm是目前使用最多的工具之一,是由JetBrains公司打造的Python重量级IDE。PyCharm作为一款针对PyCharm的优秀的开发工具,不仅跨平台,而且代码提示十分完善,对于Web应用开发和非GUI开发有着极大的优势。Pycharm界面简洁,功能整合得比较好,一站式操作,是一款适合开发大型Python项目的IDE,并且PyCharm提供了专门的Django工程开发,设置了许多快捷键,下方有终端输入,可以十分方便地输入命令控制项目。

其中最重要的一点,可以直接在Pycharm中建立Django工程,直接启动工程,同时修改代码,修改的结果能在网页实时显示,非常方便

2.5 MySQL数据库

Django默认使用的是Python自带的SQLite3,但是SQLite3数据库作为轻量级的并不适用大型的项目。除此之外Django还支持Oracle,PostgreSQL,MySQL等数据库。本系统选择使用MySQL作为网站的数据库。

MySQL,是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL具有非常多的应用。关系数据库放弃了将所有数据存放在一起,而是将数据用不同的表保存,这样能够大大提升读取速度与灵活性。

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 50元 才能查看全部内容!立即支付

微信号:bysjorg

Copyright © 2010-2022 毕业论文网 站点地图