【python-优酷系统管理员视图粗糙版(无详细注释)】教程文章相关的互联网学习教程文章

类视图

类视图使用原则代码越少越好永远不要重复代码View应当只包含呈现逻辑, 不应包括业务逻辑保持view逻辑清晰简单不要将CBVs用作403, 404, 500的错误处理程序保持mixin简单明了 mixin在编程中mixin是指为继承它的class提供额外的功能, 但它自身却不能单独使用的类在具有多继承能力的编程语言中, mixin可以为类增加额外功能或方法. 在Django中, 我们可以使用mixin为CBVs提供更多的扩展性, 当然在类继承过程中, 我们推荐以下原则:Django...

Django通用视图讲解

在最坏的情况下, Web 开发是一项无聊而且单调的工作。到目前为止,我们已经介绍了 Django怎样在模型和模板的层面上减小开发的单调性,但是 Web开发在视图的层面上,也经历着这种令人厌倦的事情。Django 的generic views可以减少这些痛苦。它抽象出一些在视图开发中常用的代码和模式,这样就可以在无需编写大量代码的情况下,快速编写出常用的数据视图。事实上,前面章节中的几乎所有视图的示例都可以在通用视图的帮助下重写。在第...

详解Python的Django框架中的通用视图【图】

通用视图 1. 前言 回想一下,在Django中view层起到的作用是相当于controller的角色,在view中实施的 动作,一般是取得请求参数,再从model中得到数据,再通过数据创建模板,返回相应 响应对象。但在一些比较通用的功能中,比如显示对象列表,显示某对象信息,如果反复 写这么多流程的代码,也是一件浪费时间的事,在这里,Django同样给我们提供了类似的 "shortcut"捷径--通用视图。 2. 使用通用视图 使用通用视图的方法就是在urls....

在Django的视图中使用数据库查询的方法

在视图中也有笨方法可以从数据库中获取数据。 很简单: 用现有的任何 Python 类库执行一条 SQL 查询并对结果进行一些处理。 在本例的视图中,我们使用了 MySQLdb 类库(可以从 http://www.djangoproject.com/r/python-mysql/ 获得)来连接 MySQL 数据库,取回一些记录,将它们提供给模板以显示一个网页:from django.shortcuts import render_to_response import MySQLdbdef book_list(request):db = MySQLdb.connect(user=me, db=...

在Django中创建第一个静态视图

正如我们的第一个目标,创建一个网页,用来输出这个著名的示例信息:Hello world.如果你曾经发布过Hello world页面,但是没有使用网页框架,只是简单的在hello.html文本文件中输入Hello World,然后上传到任意的一个网页服务器上。 注意,在这个过程中,你已经说明了两个关于这个网页的关键信息: 它包括(字符串 "Hello world")和它的URL( http://www.example.com/hello.html , 如果你把文件放在子目录,也可能是 http://www.exa...

Django的URLconf中使用缺省视图参数的方法

一个方便的特性是你可以给一个视图指定默认的参数。 这样,当没有给这个参数赋值的时候将会使用默认的值。 例子:# urls.pyfrom django.conf.urls.defaults import * from mysite import viewsurlpatterns = patterns(,(r^blog/$, views.page),(r^blog/page(?P\d+)/$, views.page), )# views.pydef page(request, num=1):# Output the appropriate page of blog entries, according to num.# ...在这里,两个URL表达式都指向了同一...

Django框架下在视图中使用模版的方法

打开current_datetime 视图。 以下是其内容:from django.http import HttpResponse import datetimedef current_datetime(request):now = datetime.datetime.now()html = "It is now %s." % nowreturn HttpResponse(html)让我们用 Django 模板系统来修改该视图。 第一步,你可能已经想到了要做下面这样的修改:from django.template import Template, Context from django.http import HttpResponse import datetimedef current_d...

在Django中创建URLconf相关的通用视图的方法

抽取出我们代码中共性的东西是一个很好的编程习惯。 比如,像以下的两个Python函数:def say_hello(person_name):print Hello, %s % person_namedef say_goodbye(person_name):print Goodbye, %s % person_name我们可以把问候语提取出来变成一个参数:def greet(person_name, greeting):print %s, %s % (greeting, person_name)通过使用额外的URLconf参数,你可以把同样的思想应用到Django的视图中。 了解这个以后,你可以开始创作...

Django中传递参数到URLconf的视图函数中的方法

有时你会发现你写的视图函数是十分类似的,只有一点点的不同。 比如说,你有两个视图,它们的内容是一致的,除了它们所用的模板不太一样:# urls.pyfrom django.conf.urls.defaults import * from mysite import viewsurlpatterns = patterns(,(r^foo/$, views.foo_view),(r^bar/$, views.bar_view), )# views.pyfrom django.shortcuts import render_to_response from mysite.models import MyModeldef foo_view(request):m_list ...

在Django的视图(View)外使用Session的方法

从内部来看,每个session都只是一个普通的Django model(在 django.contrib.sessions.models 中定义)。每个session都由一个随机的32字节哈希串来标识,并存储于cookie中。 因为它是一个标准的模型,所以你可以使用Django数据库API来存取session。>>> from django.contrib.sessions.models import Session >>> s = Session.objects.get(pk=2b1189a188b44ad18c35e113ac6ceead) >>> s.expire_date datetime.datetime(2005, 8, 20, 13,...

在Python的Django框架的视图中使用Session的方法

SessionMiddleware 激活后,每个传给视图(view)函数的第一个参数``HttpRequest`` 对象都有一个 session 属性,这是一个字典型的对象。 你可以象用普通字典一样来用它。 例如,在视图(view)中你可以这样用:# Set a session value: request.session["fav_color"] = "blue"# Get a session value -- this could be called in a different view, # or many requests later (or both): fav_color = request.session["fav_color"]# Clea...

在Python的Django框架中使用通用视图的方法

使用通用视图的方法是在URLconf文件中创建配置字典,然后把这些字典作为URLconf元组的第三个成员。 例如,下面是一个呈现静态“关于”页面的URLconf:from django.conf.urls.defaults import * from django.views.generic.simple import direct_to_templateurlpatterns = patterns(,(r^about/$, direct_to_template, {template: about.html}) )一眼看上去似乎有点不可思议,不需要编写代码的视图! 它和第八章中的例子完全一样:di...

Django中URL视图函数的一些高级概念介绍

说到关于请求方法的分支,让我们来看一下可以用什么好的方法来实现它。 考虑这个 URLconf/view 设计:# urls.pyfrom django.conf.urls.defaults import * from mysite import viewsurlpatterns = patterns(,# ...(r^somepage/$, views.some_page),# ... )# views.pyfrom django.http import Http404, HttpResponseRedirect from django.shortcuts import render_to_responsedef some_page(request):if request.method == POST:do_so...

在Django的URLconf中使用多个视图前缀的方法

在实践中,如果你使用字符串技术,特别是当你的 URLconf 中没有一个公共前缀时,你最终可能混合视图。 然而,你仍然可以利用视图前缀的简便方式来减少重复。 只要增加多个 patterns() 对象,象这样: 旧的:from django.conf.urls.defaults import *urlpatterns = patterns(,(r^hello/$, mysite.views.hello),(r^time/$, mysite.views.current_datetime),(r^time/plus/(\d{1,2})/$, mysite.views.hours_ahead),(r^tag/(\w+)/$, weblo...

在Django的通用视图中处理Context的方法

制作友好的模板Context 你也许已经注意到范例中的出版商列表模板在变量 object_list 里保存所有的书籍。这个方法工作的很好,只是对编写模板的人不太友好。 他们必须知道这里正在处理的是书籍。 更好的变量名应该是publisher_list,这样变量所代表的内容就显而易见了。 我们可以很容易地像下面这样修改 template_object_name 参数的名称:from django.conf.urls.defaults import * from django.views.generic import list_detail f...

注释 - 相关标签