【python – 在django中随机播种】教程文章相关的互联网学习教程文章

在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框架中Manager方法的使用

在语句Book.objects.all()中,objects是一个特殊的属性,需要通过它查询数据库。 在第5章,我们只是简要地说这是模块的manager 。现在是时候深入了解managers是什么和如何使用了。 总之,模块manager是一个对象,Django模块通过它进行数据库查询。 每个Django模块至少有一个manager,你可以创建自定义manager以定制数据库访问。 下面是你创建自定义manager的两个原因: 增加额外的manager方法,和/或修manager返回的初始QuerySet。...

用Python的Django框架来制作一个RSS阅读器

Django带来了一个高级的聚合生成框架,它使得创建RSS和Atom feeds变得非常容易。 什么是RSS? 什么是Atom? RSS和Atom都是基于XML的格式,你可以用它来提供有关你站点内容的自动更新的feed。 了解更多关于RSS的可以访问 http://www.whatisrss.com/, 更多Atom的信息可以访问 http://www.atomenabled.org/. 想创建一个联合供稿的源(syndication feed),所需要做的只是写一个简短的python类。 你可以创建任意多的源(feed)。 高级feed生...

在Django中管理Users和Permissions以及Groups的方法

管理认证系统最简单的方法是通过管理界面。然而,当你需要绝对的控制权的时候,有一些低层 API 需要深入专研,我们将在下面的章节中讨论它们。 创建用户 使用 create_user 辅助函数创建用户:>>> from django.contrib.auth.models import User >>> user = User.objects.create_user(username=john, ... email=jlennon@beatles.com, ... password=glass onion)在这里, user 是 User 类的一个实例,准备用于向数据库...

利用Python的Django框架生成PDF文件的教程

便携文档格式 (PDF) 是由 Adobe 开发的格式,主要用于呈现可打印的文档,其中包含有 pixel-perfect 格式,嵌入字体以及2D矢量图像。 You can think of a PDF document as the digital equivalent of a printed document; indeed, PDFs are often used in distributing documents for the purpose of printing them. 可以方便的使用 Python 和 Django 生成 PDF 文档需要归功于一个出色的开源库, ReportLab (http://www.reportlab.o...

在Django中编写模版节点及注册标签的方法

编写模板节点 编写自定义标签的第二步就是定义一个拥有 render() 方法的 Node 子类。 继续前面的例子,我们需要定义 CurrentTimeNode :import datetimeclass CurrentTimeNode(template.Node):def __init__(self, format_string):self.format_string = str(format_string)def render(self, context):now = datetime.datetime.now()return now.strftime(self.format_string)这两个函数( __init__() 和 render() )与模板处理中的两...

Django中对通过测试的用户进行限制访问的方法

限制访问可以基于某种权限,某些检查或者为login视图提供不同的位置,这些实现方式大致相同。 一般的方法是直接在视图的 request.user 上运行检查。 例如,下面视图确认用户登录并是否有 polls.can_vote权限:def vote(request):if request.user.is_authenticated() and request.user.has_perm(polls.can_vote)):# vote hereelse:return HttpResponse("You cant vote in this poll.")并且Django有一个称为 user_passes_test 的简洁...

简介Django中内置的一些中间件

认证支持中间件 中间件类: django.contrib.auth.middleware.AuthenticationMiddleware . django.contrib.auth.middleware.AuthenticationMiddleware . 这个中间件激活认证支持功能. 它在每个传入的 HttpRequest 对象中添加代表当前登录用户的 request.user 属性。 It adds the request.user attribute, representing the currently logged-in user, to every incoming HttpRequest object. 通用中间件 Middleware class: django.mi...

在Python的Django框架中编写错误提示页面

你应该在生产环境中把TEMPLATE_DEBUGFalse 如果这个设为`` True`` ,为了在那个好看的错误页面上显示足够的东西,Django的模版系统就会为每一个模版保存一些额外的信息。 实现一个404模板 如果`` DEBUG`` 设置为`` True`` ,Django会显示那个自带的404错误页面。 但如果`` DEBUG`` 被设置成`` False`` ,那它的行为就不一样了: 他会显示一个在你的模版根目录中名字叫`` 404.html`` 的模版 所以,当你准备部署你的应用时,你会需要...

简单介绍Python的Django框架加载模版的方式

一般说来,你会把模板以文件的方式存储在文件系统中,但是你也可以使用自定义的 template loaders 从其他来源加载模板。 Django有两种方法加载模板django.template.loader.get_template(template_name) : get_template 根据给定的模板名称返回一个已编译的模板(一个 Template 对象)。 如果模板不存在,就触发 TemplateDoesNotExist 的异常。 django.template.loader.select_template(template_name_list) : select_template...

举例讲解Django中数据模型访问外键值的方法

先设置一个关于书本(book)的数据模型:from django.db import modelsclass Publisher(models.Model):name = models.CharField(max_length=30)address = models.CharField(max_length=50)city = models.CharField(max_length=60)state_province = models.CharField(max_length=30)country = models.CharField(max_length=50)website = models.URLField()def __unicode__(self):return self.nameclass Author(models.Model):first_na...

浅析Python的Django框架中的Memcached

动态网站的问题就在于它是动态的。 也就是说每次用户访问一个页面,服务器要执行数据库查询,启动模板,执行业务逻辑以及最终生成一个你所看到的网页,这一切都是动态即时生成的。 从处理器资源的角度来看,这是比较昂贵的。 对于大多数网络应用来说,过载并不是大问题。 因为大多数网络应用并不是washingtonpost.com或Slashdot;它们通常是很小很简单,或者是中等规模的站点,只有很少的流量。 但是对于中等至大规模流量的站点来说...

在Django框架中编写Context处理器的方法

写Context处理器的一些建议 编写处理器的一些建议:使每个context处理器完成尽可能小的功能。 使用多个处理器是很容易的,所以你可以根据逻辑块来分解功能以便将来复用。要注意 TEMPLATE_CONTEXT_PROCESSORS 里的context processor 将会在基于这个settings.py的每个 模板中有效,所以变量的命名不要和模板的变量冲突。 变量名是大小写敏感的,所以processor的变量全用大写是个不错的主意。不论它们存放在哪个物理路径下,只要在你的...

在Python的Django框架中生成CSV文件的方法

CSV 是一种简单的数据格式,通常为电子表格软件所使用。 它主要是由一系列的表格行组成,每行中单元格之间使用逗号(CSV 是 逗号分隔数值(comma-separated values) 的缩写)隔开。例如,下面是CSV格式的“不守规矩”的飞机乘客表。Year,Unruly Airline Passengers 1995,146 1996,184 1997,235 1998,200 1999,226 2000,251 2001,299 2002,273 2003,281 2004,304 2005,203 2006,134 2007,147备注 前面的列表包含真实数据。 这些数据来自...

在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...