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

转自点击打开链接

 

1 编写第一个静态页面——Hello world页面

  在上一篇博客《[Python] 利用Django进行Web开发系列(一)》中,我们创建了自己的目录mysite。

  Step1:创建视图文件

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

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello world! This is my first trial. [Poll的笔记]")

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

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

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

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

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

  Step2:进行URL配置

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

  URLconf 就像是 Django 所支撑网站的目录。 它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。 你就是以这种方式告诉 Django,对于这个 URL 调用这段代码,对于那个 URL 调用那段代码。 例如,当用户访问/foo/时,调用视图函数foo_view(),这个视图函数存在于Python模块文件view.py中。上一篇博文中执行django-admin.py startproject时,该脚本会自动为你建了一份URLconf,即urls.py文件。

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

复制代码
from django.conf.urls import *
from mysite.views import hello

urlpatterns = patterns('',
    ('^hello/$', hello),
)
复制代码

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

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

  接下来,我们为urlpatterns加上一行: (‘^hello/$’, hello), 这行被称作URLpattern,它是一个Python的元组。元组中第一个元素是模式匹配字符串(正则表达式);第二个元素是那个模式将使用的视图函数。
  urlpattern中包含了一个尖号(^)和一个美元符号($)。这些都是正则表达式符号,并且有特定的含义: 上箭头要求表达式对字符串的头部进行匹配,美元符号则要求表达式对字符串的尾部进行匹配。有关正则表达式的知识可以看我的另一篇博文《[Python] 网络爬虫和正则表达式学习总结 》。
  简单来说,这段代码只是告诉Django,所有指向URL:/hello/的请求都应由hello这个视图函数来处理。
  Step3:启动Django服务器查看页面
  启动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视图输出页面如下所示:

  看到第一个自己成功编写的Web页面,楼主还有点小激动(^_^)。

  总结一下:

  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了。

2 编写第一个动态页面——current time页面

  我们的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 *
from mysite.views import current_time

urlpatterns = patterns('',
    ('^current_time/$', current_time),
)
复制代码

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

 

  看到这里,大家是不是感觉利用python Django进行Web开发真的很简单。当然,我们页面实在是太单薄了,不光没有啥模板科研,就连一些颜色都没有,哈哈,不过后边楼主会慢慢学习,并和大家分享经验。相信经过这系列的努力,最后一定可以随心所欲地设计出一个属于自己的完美的页面。

3 参考内容

  [1] Django book 第三章:视图和URL配置


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python是一种面向对象且高级的编程语言,已经成为Web开发,数据科学和机器学习等领域的首选。Django是基于Python的开源Web框架,使Web开发更加容易、快速和可扩展。属于MVT(Model-View-Template)架构,通过它可以快速地开发出一个大型的Web应用程序。MySQL是一种功能强大和广泛应用的关系型数据库管理系统,适用于广泛范围的Web应用程序开发。最近几年, MySQL在极高的性能、与其他应用程序的无缝集成、易于维护等方面成为了Web开发的首选数据库。 结合这些技术,我们可以完成各种Web应用程序的开发,例如电子书。电子书是指以电子文档的形式发行的图书或书籍,具有较高的便携性和使用方式,不需要纸质印刷。以Python为基础,并使用Django框架和MySQL作为后端数据库管理系统,能够实现电子书的在线阅读、购买和下载等。利用Django模板和静态文件,我们可以构建电子书的外观和用户界面。还能够使用Django的内置功能,例如用户身份验证和身份管理,来确保用户安全访问电子书。同时,使用MySQL数据库,可以存储电子书的元数据和用户购买记录,并使用ORM(对象关系映射)模式轻松访问和管理这些数据。 总的来说,使用PythonDjango和MySQL可以简化Web应用程序的开发,特别是在开发诸如电子书等复杂应用程序时,这三种技术可以相互促进,提高开发效率和软件质量。 ### 回答2: 电子书Python Django MySQL开发Web指的是使用Python语言编写的Django框架,通过MySQL数据库实现Web开发的过程。这种开发方式具有高效且易于维护的特点,并且具有强大的扩展性和灵活性。 Python是一种高级编程语言,具有语法简单、易于学习及强大的编程能力等多方面的优势,在Web开发领域具有广泛应用。而Django是一个基于PythonWeb框架,它的开发目的是为了简化Web应用程序的创建过程,提供高效一致的解决方案。 MySQL是一种开源的关系型数据库管理系统,它具有高效性、稳定性、可扩展性等多种优点,适合大型Web开发项目的数据库管理。 在实际的开发中,在Python语言中使用Django框架连同MySQL数据库可以轻松地实现Web应用的创建和管理。由于Django提供的高级开发工具和自动化管理机制,开发人员可以轻松地处理常见的Web开发任务,节省工作时间。 总而言之,电子书Python Django MySQL开发Web是一种高效、灵活、易于维护的Web开发方式。它可以帮助开发人员快速创建高品质的Web应用,同时更好地满足项目需求,进而为用户带来更出色的使用体验。 ### 回答3: 电子书是目前最受欢迎的阅读方式之一,Python是一种广泛使用的编程语言,Django是一个流行的Web框架,MySQL是一种常见的关系型数据库。这些工具的结合可以帮助开发人员快速构建高效的Web应用程序。 使用PythonDjango可以快速搭建一个Web应用程序的框架,然后可以使用MySQL来存储和管理数据。在这个过程中,可以使用Python的各种库和模块来扩展应用程序的功能,包括更高级的图形用户界面、数据可视化和其他功能。 与传统的书籍不同,电子书可以提供更丰富的媒体和互动体验,比如可以包含多媒体内容、链接和动画。PythonDjango可以帮助开发人员构建更具交互性和视觉吸引力的Web应用程序,并且还可以使用MySQL来存储和检索更复杂的数据。 总之,电子书python django mysql开发web是一种非常强大的工具组合,可以帮助开发人员快速构建高效、易于使用和易于管理的Web应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值