[Python] 利用Django进行Web开发

第一步:下载并安装django

首先,在Django官网上下载适合自己Python的Django版本,在安装Django前首先确定你已成功安装了python。

        Windows系统下安装Django:

  解压缩下载的Django压缩包,找到里面的setup.py文件,然后打开cmd命令窗口,在其对应的路径下执行如下命令:

python setup.py install

  Linux系统下安装Django:

  以此在shell中输入如下命令: 

$ tar xzvf Django-*.tar.gz

$ cd Django-*

$ sudo python setup.py install

  确认Django是否成功安装:

  在python IDE下输入:

import django
django.VERSION

  如果你看到django的版本信息,就说明安装成功。

第二步:运行服务器。

首先,开始新建第一个项目。

  找到你的django-admin.py文件,并把它加入系统路径。如果用的是setup.py工具安装的Django,django-admin.py应该已被加入了系统路径中。我的django-admin.py目录为C:\Python27\Lib\site-packages\Django-1.11.5-py2.7.egg\django\bin。

  进入该目录下,运行如下命令,新建一个项目:

python django-admin.py startproject mysite

  startproject命令创建一个目录,包含一个名为mysite的文件夹和一个名为manage.py的文件。其中mysite文件夹下包含有四个文件,分别为:

  __init__.py

  settings.py

  urls.py

  wsgi.py 

  为了安装后更多的体验,让我们运行一下django开发服务器看看我们的准系统。django开发服务是可用在开发期间的,一个内建的,轻量的web服务。 我们提供这个服务器是为了让你快速开发站点,也就是说在准备发布产品之前,无需进行产品级 Web 服务器(比如 Apache)的配置工作。 开发服务器监测你的代码并自动加载它,这样你会很容易修改代码而不用重启动服务。如果你还没启动服务器的话,请切换到你的项目目录里 (cd mysite),运行下面的命令:

python manage.py runserver

  你会看到如下内容:

Django version 1.11.5, using settings ‘mysite.settings‘ Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK

  这将会在端口8000启动一个本地服务器, 并且只能从你的这台电脑连接和访问。 既然服务器已经运行起来了,现在用网页浏览器访问 http://127.0.0.1:8000/ 。 你应该可以看到一个令人赏心悦目的淡蓝色Django欢迎页面。 它开始工作了。

  界面如下所示:

        注意:虽然 django 自带的这个 web 服务器对于开发很方便,但是,千万不要在正式的应用布署环境中使用它。 在同一时间,该服务器只能可靠地处理一次单个请求,并且没有进行任何类型的安全审计。

  更改Development Server 的主机地址或端口。默认情况下,runserver命令在8000端口启动开发服务器,且仅监听本地连接。 要想要更改服务器端口的话,可将端口作为命令行参数传入:

python manage.py runserver 8080

通过指定一个 IP 地址,你可以告诉服务器–允许非本地连接访问。 如果你想和其他开发人员共享同一开发站点的话,该功能特别有用。“0.0.0.0”这个IP地址,告诉服务器去侦听任意的网络接口。

python manage.py runserver 0.0.0.0:8000

  完成这些设置后,你本地网络中的其它计算机就可以在浏览器中访问你的 IP 地址了。比如:http://192.168.1.103:8000/ . (注意,你将需要校阅一下你的网络配置来决定你在本地网络中的IP 地址) Unix用户可以在命令提示符中输入ifconfig来获取以上信息。使用Windows的用户,请尝试使用 ipconfig命令。

第三步:创建视图文件。

在编写第一个页面之前,我们首先要在mysite目录下创建一个名称为views.py的文件。当然,命名是没有要求的,你也可以命名为a.py,b.py... ... 根据自己的喜好命名就行。在已创建好的views.py中写入如下代码,并保存:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello world! ")

  逐行分析一下这段代码:

  首先,我们从django.http模块导入HttpResponse类。

  接下来,我们定义一个叫做hello的视图函数。每个视图函数至少要有一个参数,通常被叫作request。这是一个触发这个视图、包含当前Web请求信息的对象,是类django.http.HttpResponse的一个实例。在这个示例中,我们虽然不用request做任何事情,然而它仍必须是这个视图的第一个参数。注意视图函数的名称并不重要;并不一定非得以某种特定的方式命名才能让Django识别它。 在这里我们把它命名为:hello,是因为这个名称清晰的显示了视图的用意。同样地,你可以用诸如:hello_wonderful_beautiful_world,这样难看的短句来给它命名。

  这个函数只有简单的一行代码: 它仅仅返回一个HttpResponse对象,这个对象包含了文本“Hello world”。

    在这里要记住的是:一个视图就是Python的一个函数。这个函数第一个参数的类型是HttpRequest;它返回一个HttpResponse实例。为了使一个Python的函数成为一个Django可识别的视图,它必须满足这两个条件。

第四步:进行URL配置。

现在,如果你再运行:python manage.py runserver,你还将看到Django的欢迎页面,而看不到我们刚才写的Hello world显示页面。 那是因为我们的mysite项目还对hello视图一无所知。我们需要通过一个详细描述的URL来显式的告诉它并且激活这个视图。为了绑定视图函数和URL,我们使用URLconf,即urls.py文件。 

  URLconf 就像是 Django 所支撑网站的目录。 它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。 你就是以这种方式告诉 Django,对于这个 URL 调用这段代码,对于那个 URL 调用那段代码。 例如,当用户访问/foo/时,调用视图函数foo_view(),这个视图函数存在于Python模块文件view.py中。

  如果想在URLconf中加入URL和view,只需增加映射URL模式和view功能的Python tuple即可. 这里演示如何添加view中hello功能。

from django.conf.urls import urlfrom django.contrib import admin
from mysite.views import hello

urlpatterns = [    url(r‘^admin/‘, admin.site.urls),
    url(r‘^hello/‘, hello),]

  我们逐行分析一下这段代码:

  首先,我们从模块中引入了hello视图。

  接下来,我们为urlpatterns加上一行:url (‘^hello/$’, hello), 这行被称作URLpattern,它是一个Python的元组。元组中第一个元素是模式匹配字符串(正则表达式);第二个元素是那个模式将使用的视图函数。

  urlpattern中包含了一个尖号(^)和一个美元符号($)。这些都是正则表达式符号,并且有特定的含义: 上箭头要求表达式对字符串的头部进行匹配,美元符号则要求表达式对字符串的尾部进行匹配。

  简单来说,这段代码只是告诉Django,所有指向URL:/hello/的请求都应由hello这个视图函数来处理。

第五步:验证。

启动Django开发服务器来测试修改好的 URLconf, 运行命令行python manage.py runserver。开发服务器的地址是http://127.0.0.1:8000/ ,打开你的浏览器访问 http://127.0.0.1:8000/hello/ 。 你就可以看到输出结果了。开发服务器将自动检测Python代码的更改来做必要的重新加载, 所以你不需要重启Server在代码更改之后。服务器运行地址”http://127.0.0.1:8000/“,所以打开浏览器直接输入“http://127.0.0.1:8000/hello/”,你将看到由你的Django视图输出页面如下所示:

  总结一下:

  1. 进来的请求转入/hello/。
  1. Django通过在ROOT_URLCONF配置来决定根URLconf。
  1. Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。
  1. 如果找到匹配,将调用相应的视图函数。
  1. 视图函数返回一个HttpResponse。
  1. Django转换HttpResponse为一个适合的HTTP response,以Web page显示出来。

  其实做一个Django-powered页面,只需要写视图函数并用 URLconfs把它们和URLs对应起来就ok了。

第六步:编写一个动态页面。

        我们的Hello world视图是用来演示基本的Django是如何工作的,但是它不是一个动态网页的例子,因为网页的内容一直是一样的. 每次去查看/hello/,你将会看到相同的内容,它类似一个静态HTML文件。在第二个例子里,博主通过一个显示当前时间的页面来简单示范一下动态页面。动态页面和静态页面的编写是一样的,两部分:创建视图和配置URL。

  视图文件views.py代码如下:

from django.http import HttpResponse
import time

def current_time(request):
    return HttpResponse("Current time is: "+time.strftime(‘%Y-%m-%d %H:%M:%S‘))

  URLconf文件urls.py代码如下:

from django.conf.urls import urlfrom django.contrib import adminfrom mysite.views import hello
from mysite.views import current_time

urlpatterns = [    url(r‘^admin/‘, admin.site.urls),    url(r‘^hello/‘,hello),
    url(r‘^current_time/‘, current_time),]

  然后我们通过网址http://127.0.0.1:8000/current_time/就可以看到编写的第一个动态页面了,它显示的内容是你访问该页面时的当前时间,如下图所示:

时间: 2024-12-24 21:25:28

[Python] 利用Django进行Web开发的相关文章

[Python] 利用Django进行Web开发系列(一)

1 写在前面 在没有接触互联网这个行业的时候,我就一直很好奇网站是怎么构建的.现在虽然从事互联网相关的工作,但是也一直没有接触过Web开发之类的东西,但是兴趣终归还是要有的,而且是需要自己动手去实践的.Web开发的途径有好多种,比如传统的.Net,还有很火爆的Java.Python作为一种灵活好学的脚本语言,已经越来越受程序员的欢迎和热捧,甚至成为程序员的必备技能.Django是Python的Web开放框架,好多人说学习Python就是在学Django,从这也可以看出Django的强大.博主也是

Python & PyCharm & Django 搭建web开发环境

一.安装软件 1.安装 Python 2.7.PyCharm.pip(Python包管理工具).Django ( pip install Django) 二.部署 1.PyCharm 新建Django工程 完成后,其目录如下: 子目录MyDjangoProject下表示工程的全局配置,分别为setttings.py.urls.py和wsgi.py,其中setttings.py包括了系统的数据库配置.应用配置和其他配置,urls.py则 表示web工程Url映射的配置. 子目录student则是在

Python & PyCharm & Django 搭建web开发环境(续)

由于Django自带轻量级的server,因此在前篇博文中,默认使用该server,但实际生产中是不允许这么干的,生产环境中通常使用Apache Httpd Server结合mod_wsgi.so来做后端服务器. 以下部署环境为:Python2.7.6 1.安装httpd-2.2.25-win32-x86-no_ssl.msi 2.将下载好的mod_wsgi.so 放在 D:\Program Files\Apache Software Foundation\Apache2.2\modules 模

使用 Python 和 Django 搭建 Web 应用

使用 Python 和 Django 搭建 Web 应用 简介 Django 是 Python 开发的 Web 框架.使用 Django 搭建 Web 应用很方便. 写本文时 django 的最新版本为 1.4,但本文不关注新版本的特性,只搭建一个简单的应用. 安装 Django 本文以 CentOS 6.2 为例进行安装: 安装 python # yum install python 本文使用的是 CentOS 6.2 Desktop,默认安装了 python. 查看一下 python 的版本

【Python】Python利用有道翻译开发API应用示例

Python源码是关于Python利用有道翻译开发API应用示例.这是一个很有意思又简单的API应用练习题,方法中用到了有道词典开放API应用,合成的类似于命令行词典应用Python小程序.功能简单,但效果却很好. 这里要注意的是:有道API的请求频率限制,限制频率为每小时1000次,如果超过限制会被封禁. 提示:如果想一直用这个可以自己申请一个KEY,申请的过程非常简单的,只要替换原有的KEY_FROM和KEY就可以了. Python利用有道翻译开发API应用示例,源码如下: #!/usr/b

利用Django构建web应用及其部署

注:很久之前就有了学习Django的想法,最近终于有机会做了一次尝试.由于Django的详细教程很多,我在这里就不再详述了,只是将整个开发流程以及自己在学习Django中的一些思考记录在此. System:CentOS Linux release 7.2.1511 (Core) Django: 1.10 Python: 2.7.5 推荐两个非常好的教程: The Django Book(中文版):我自己一开始是参考这个教程学习的,非常有意思的是这个教程中有大量的评论,几乎每段都有,从10年开始一

Python学习教程:WEB开发——Python WSGI协议详解

Web应用程序开发 Web应用程序的本质是什么 简单描述Web应用程序的本质,就是我们通过浏览器访问互联网上指定的网页文件展示到浏览器上. 流程如下图: 从更深层次一点的技术角度来看,由以下几个步骤: 浏览器,将要请求的内容按照HTTP协议发送服务端 服务端,根据请求内容找到指定的HTML页面 浏览器,解析请求到的HTML内容展示出来 HTTP协议的全称是HyperText Transfer Protocol(超文本传输协议) HTTP协议是我们常用的五层协议中的应用层(5层从上到下是应用层,传

python bottle框架(WEB开发、运维开发)教程

教程目录 一:python基础(略,基础还是自己看书学吧) 二:bottle基础 python bottle web框架简介 python bottle 框架环境安装 python bottle 框架基础教程:路由(url定义) python bottle 框架基础教程:HTTP 请求方法 python bottle 框架基础教程:模板使用 python bottle 框架基础教程:模板语法 python bottle 框架基础教程:模板继承 python bottle 框架基础教程:静态资源

PyCharm社区版+Django搭建web开发环境

PyCharm开源社区版不像商业版那样可以直接通过Django来创建项目,必须通过以下几个步骤进行: 1. 创建项目:在cmd命令行下输入:django-admin startproject Demo        (cmd命令先进入目录:cd D:\PycharmProjects) 2. 导入项目:打开Pycharm,open,选择刚才创建的项目 3. 创建应用:在cmd命令行下输入:python manage.py startapp web      (cmd命令下先进入Demo所在的目录)