【linux基础 --python 和 Django 的安装运行】教程文章相关的互联网学习教程文章

在主机商的共享服务器上部署Django站点的方法

许多共享主机的服务提供商不允许运行你自己的服务进程,也不允许修改 httpd.conf 文件。 尽管如此,仍然有可能通过Web服务器产生的子进程来运行Django。 记录 如果你要使用服务器的子进程,你没有必要自己去启动FastCGI服务器。 Apache会自动产生一些子进程,产生的数量按照需求和配置会有所不同。 在你的Web根目录下,将下面的内容增加到 .htaccess 文件中:AddHandler fastcgi-script .fcgi RewriteEngine On RewriteCond %{REQU...

Django中URLconf和include()的协同工作方法

捕获的参数如何和include()协同工作 一个被包含的URLconf接收任何来自parent URLconfs的被捕获的参数,比如:# root urls.pyfrom django.conf.urls.defaults import *urlpatterns = patterns(,(r^(?P\w+)/blog/, include(foo.urls.blog)), )# foo/urls/blog.pyfrom django.conf.urls.defaults import *urlpatterns = patterns(,(r^$, foo.views.blog_index),(r^archive/$, foo.views.blog_archive), )在这个例子中,被捕获的 userna...

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

在Django的模型中执行原始SQL查询的方法

有时候你会发现Django数据库API带给你的也只有这么多,那你可以为你的数据库写一些自定义SQL查询。 你可以通过导入django.db.connection对像来轻松实现,它代表当前数据库连接。 要使用它,需要通过connection.cursor()得到一个游标对像。 然后,使用cursor.execute(sql, [params])来执行SQL语句,使用cursor.fetchone()或者cursor.fetchall()来返回记录集。 例如:>>> from django.db import connection >>> cursor = connection.c...

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