Python的安装

目前市场上Python 2.X系列与Python 3.X系列共存的现象。读者可以安装Python 2.X系列或者Python 3.X系列。如果开发的目的是基于原有Python 2.X系列产品的维护,作者建议选择Python 2.X系列;如果是开发一个完全新的产品,那么作者建议选择Python 3.X系列。作者写这本书的时候,Python的最高版本是3.6,但是作者担心Python 3.6还是不成熟,所以本书选择版本的是Python 3.5。

Python工具的官方下载地址是http://www.python.org/download。

Python下载完毕以后务必注意要配置好环境变量。(本书全部基于Windows开发环境进行介绍。)

是配置PYTHON_HOME变量,变量值为安装Python的文件路径,在Python3.5中默认为C:UsersAppDataLocalProgramsPythonPython35。

是在path中增加的两个参数,设置%PYTHON_HOME%是为了可以在任意路径下运行python命令;设置%PYTHON_HOME%s是为了可以在任意路径下运行%PYTHON_HOME%s路径下的命令,比如pip或pip3。

PYTHON_HOME的配置

PATH中的配置

1.2 Django框架1.2.1 Django的介绍1. Django概况

Django项目是一个Python语言定制框架,它源自一个在线新闻Web站点,于2005年以开源的形式被释放出来。Django框架的核心组件如下。

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

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

(3)一流的URL设计。

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

(5)缓存系统。

Django是用Python语言开发的一个开源的Web开发框架(OpenSource Web Framework,OSWF),它鼓励快速开发,并遵循MVC设计理念。Django遵守BSD版权[1],初次发布于2005年7月,并于

2008年9月发布了第一个正式版本1.0。

Django根据比利时的爵士音乐家DjangoReinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。

由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SD Times[2]评选为2013 SDTimes 100,位列“API、库和框架”分类第六位,被认为是该领域的佼佼者。

2. Django的设计理念

Django的主要目的是简便、快速地开发数据库驱动的网站。它强调代码的复用以及多个组件可以很方便地以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,甚至可以很方便地开发出自己的工具包。这使得Django具有很强的可扩展性。Django还强调快速开发和DRY(Do Not Repeat Yourself)的原则。

Django基于MVC的设计十分优美。

(1)对象关系映射(Object-RelationalMapping,ORM):以Python类形式定义数据模型,ORM将模型与关系数据库连接起来,将得到一个非常容易使用的数据库API。虽然在Django中可以使用原始的SQL语句。一般从安全角度来说,是不建议的,因为一是Django已经对SQL语句进行了很好地封装,二是显示SQL语句容易引发类似SQL注入的威胁。本书将在第2.7节中进行详细地介绍。

(2)URL分配:使用正则表达式匹配URL,就可以设计任意的URL。本书将在第2.8.1节中进行详细地介绍。

(3)模板系统:Django提供强大而可扩展的模板语言,它可以分隔设计、内容和Python代码,并且具有可继承性。本书将在第2.9节中进行详细地介绍。

(4)表单处理:可以方便地生成各种表单模型,实现表单的有效性检验。可以方便地从定义的模型实例生成相应的表单。本书将在第3.3节开始进行详细地介绍。

(5)Cache系统:可以挂在内存缓冲或其他的框架实现超级缓冲--实现所需要的粒度。

(6)会话(session):用户登录与权限检查,快速开发用户会话功能。本书将在第2.4节中进行详细地介绍。

(7)国际化:内置国际化系统,方便开发出多种语言的网站。

(8)自动化的管理界面:不需要使用大量的工作来创建人员管理和更新内容。Django自带一个Admin Site,类似于内容管理系统。

3.工作原理

(1)用manage.py runserver启动Django服务器。

(2)同时载入同一目录下的settings.py。该文件包含了项目中的配置信息,如URLConf等,其中最重要的配置就是ROOT_URLCONF,它告诉Django哪个Python模块应该用作本站的URLConf。见图1-3所示。

图1-3settings.py中的ROOT_URLCONF

(3)当访问URL的时候,Djang会根据ROOT_URLCONF的设置来装载URLConf。

(4)然后按顺序逐个匹配URLConf里的URLpatterns。如果找到则会调用相关联的视图方法,并把HttpRequest对象作为第一个参数(通常是request)。

(5)最后该view方法负责返回一个HttpResponse对象。

基于python的电商网站建设_基于Django的电子商务网站开发相关推荐

  1. 基于python的股票程序化交易论文_基于Python工具的股票量化投资策略研究

    2019 年第 07 期 20 世 纪 80 年代, 一 些 投 资 者 开 始 利用 计 算 机 研究金 融 数据 , 并 初显 成 效 . 20 世 纪 末 , 投 资 者 把 计 算 机 技术 ...

  2. 基于python的公众号课堂教学_基于Python的微信公众号数据挖掘分析

    基于Python的微信公众号数据挖掘分析 华南农业大学电子工程学院 王 建 黄宁香 [期刊名称]电子世界 [年(卷),期]2019(000)011 [总页数]3 运用Python网络爬虫技术对某时事类 ...

  3. 基于python的智能安防系统_基于Python语言的智能家居系统研究

    龙源期刊网 http://www.qikan.com.cn 基于 Python 语言的智能家居系统研究 作者:张微微

  4. 基于python的气象数据分析统计服_基于Python的风向风速数据分析的设计与实现

    基于 Python 的风向风速数据分析的设计与实现 李文倩 ; 刘婕 [期刊名称] < <信息通信> > [年 ( 卷 ), 期] 2019(000)009 [摘要] Pyth ...

  5. 基于python的爬虫系统金融数据_基于Python的互联网金融数据采集

    基于Python的互联网金融数据采集 □文/王 蕾1安英博1刘佳杰2 [提要] 互联网金融数据中潜藏着未知的知识价值,但也存在着巨量的数据冗余.通过Python可以进行互联网金融数据的获取.解析.提取 ...

  6. python设计app_基于Python的电商导购APP设计与实现- CNKI

    Abstract:With the steady growth of China's economy, the price of IT products, 4G network and the pop ...

  7. 基于python网上订餐系统哪家好_基于web的网上订餐系统的设计与实现-毕业论文...

    基于 web 的网上订餐系统的设计与实现 摘要 : 由于因特网技术的高速发展, 人们生活与网络的脚步也随之越来越紧密. 同时也随着市场化和经济全球化越来越多的普及, 众多国内外企业都深刻地认识 到想要 ...

  8. 基于python的毕业论文邮箱收发系统_基于python语言的自动化邮件发送总结

    发邮件功能 有很多种,我目前 使用的是python的smptlib 模块提供的发邮件功能,可以使用里面的SMTP对象的sendmail方法发邮件. # -*- coding: utf-8 -*- '' ...

  9. android电商平台,基于Android的电商平台通用客户端的设计与实现

    摘要: 随着移动互联网的高速发展,电子商务已经由过去的PC端逐渐进入了移动时代.一方面,对于处于创业阶段的电商平台运营者来说,由于资金不足,开发人员不足,很难在短时间内拥有电商平台的手机客户端.另一方 ...

最新文章

  1. Fedora 23 将默认使用 Wayland – 多监视器支持
  2. 用 C 语言开发一门编程语言 — Q-表达式
  3. C# 代理做为函数参数的时候
  4. wps的计算机在哪里设置密码,wps文件怎么设置和取消密码 wps文件密码设置和取消的步骤方法...
  5. 01 安装ansible
  6. linux环境用tar报错,Linux环境使用TAR命令快速部署安装Oracle
  7. 数据:以太坊上稳定币流通量突破600亿美元,年内增幅达187%
  8. python编写程序、计算1+3+5+7......+99-在python中实现求输出1-3+5-7+9-......101的和
  9. 20191007每日一句
  10. Python高级特性之---切片操作
  11. 使用 ReportLab 绘制 PDF
  12. Msm8960(APQ8064)平台的MSM-AOSP-kitkat编译适配(6):音频
  13. 树莓派做下载机+Web服务器(Aria2下载+yaaw做UI+nginx)
  14. p2p网络中的节点发现之UDP
  15. Meta元宇宙副总裁离职了...『Go语言圣经』终于汉化啦;德云社失业警告!AI要说相声了;一键就能AI绘图的网站;前沿论文 | ShowMeAI资讯日报
  16. html在线编程工具,6 个强大的 HTML5 应用在线开发工具
  17. Pandas 获取列名
  18. 船舶事故数据处理可视化平台之搭建Python开发环境
  19. https 请求需要证书,忽略安全证书
  20. 如何解决 MacBook 电池耗电问题

热门文章

  1. R语言Excel的读写
  2. ecshop支持mysql_ecshop安装不支持MySQL
  3. mysql 递归 性能_MySQL优化总结+自定义函数之递归
  4. 堪称神级的阿里巴巴“高并发”教程《基础+实战+源码+面试+架构》
  5. 阿里技术大神「多隆」的成神之路
  6. 20年上海站D题Walker(二分,简洁)
  7. Google 工程师二三事
  8. 微信公众号开发本地调试【内网穿透】
  9. 神一样的编程语言? -- 发现一个编程语言“shen”
  10. 互操作性2.0:奠定公链万亿美元生态的基础设施