-
在Django的视图中使用数据库查询的方法
所属栏目:[Python] 日期:2020-12-16 热度:65
在视图中也有笨方法可以从数据库中获取数据。 很简单: 用现有的任何 Python 类库执行一条 SQL 查询并对结果进行一些处理。 在本例的视图中,我们使用了 MySQLdb 类库(可以从 http://www.djangoproject.com/r/python-mysql/ 获得)来连接 MySQL 数据库,取[详细]
-
浅谈python中截取字符函数strip,lstrip,rstrip
所属栏目:[Python] 日期:2020-12-16 热度:195
一、起因 今天在做角色控制中,有一个地方用到rstrip,判断用户请求的url是否与数据库对应可用权限中url相符。 if request.path == x.url or request.path.rstrip('/') == x.url: #精确匹配,判断request.path是否与permission表中的某一条相符 借此机会总结[详细]
-
Python的Django框架中的数据库配置指南
所属栏目:[Python] 日期:2020-12-16 热度:147
记住这些理念之后,让我们来开始 Django 数据库层的探索。 首先,我们需要做些初始配置;我们需要告诉Django使用什么数据库以及如何连接数据库。 我们假定你已经完成了数据库服务器的安装和激活,并且已经在其中创建了数据库(例如,用 CREATE DATABASE 语句[详细]
-
在Django框架中运行Python应用全攻略
所属栏目:[Python] 日期:2020-12-16 热度:99
我们来假定下面的这些概念、字段和关系: 一个作者有姓,有名及email地址。 出版商有名称,地址,所在城市、省,国家,网站。 书籍有书名和出版日期。 它有一个或多个作者(和作者是多对多的关联关系[many-to-many]), 只有一个出版商(和出版商是一对多的[详细]
-
在Python的Django框架中更新数据库数据的方法
所属栏目:[Python] 日期:2020-12-16 热度:187
先使用一些关键参数创建对象实例,如下: p = Publisher(name='Apress',... address='2855 Telegraph Ave.',... city='Berkeley',... state_province='CA',... country='U.S.A.',... website='http://www.apress.com/') 这个对象实例并 没有 对数据库做修改[详细]
-
Python的Django框架中的数据过滤功能
所属栏目:[Python] 日期:2020-12-16 热度:159
我们很少会一次性从数据库中取出所有的数据;通常都只针对一部分数据进行操作。 在Django API中,我们可以使用`` filter()`` 方法对数据进行过滤: Publisher.objects.filter(name='Apress')[Publisher: Apress] filter() 根据关键字参数来转换成 WHERE SQL[详细]
-
在Python的Django框架中获取单个对象数据的简单方法
所属栏目:[Python] 日期:2020-12-16 热度:114
相对列表来说,有些时候我们更需要获取单个的对象, `` get()`` 方法就是在此时使用的: Publisher.objects.get(name="Apress")Publisher: Apress 这样,就返回了单个对象,而不是列表(更准确的说,QuerySet)。 所以,如果结果是多个对象,会导致抛出异常:[详细]
-
Django框架中数据的连锁查询和限制返回数据的方法
所属栏目:[Python] 日期:2020-12-16 热度:167
连锁查询 通常我们需要同时进行过滤和排序查询的操作。 因此,你可以简单地写成这种“链式”的形式: Publisher.objects.filter(country="U.S.A.").order_by("-name")[Publisher: O'Reilly,Publisher: Apress] 你应该没猜错,转换成SQL查询就是 WHERE 和 ORD[详细]
-
Django中更新多个对象数据与删除对象的方法
所属栏目:[Python] 日期:2020-12-16 热度:52
更新多个对象 例如说我们现在想要将Apress Publisher的名称由原来的”Apress”更改为”Apress Publishing”。若使用save()方法,如: p = Publisher.objects.get(name='Apress') p.name = 'Apress Publishing' p.save() 这等同于如下SQL语句: SELECT id,nam[详细]
-
Python的Django框架下管理站点的基本方法
所属栏目:[Python] 日期:2020-12-16 热度:64
对于某一类网站, 管理界面 是基础设施中非常重要的一部分。 这是以网页和有限的可信任管理者为基础的界面,它可以让你添加,编辑和删除网站内容。 一些常见的例子: 你可以用这个界面发布博客,后台的网站管理者用它来润色读者提交的内容,你的客户用你给他[详细]
-
Python的Django框架中设置日期和字段可选的方法
所属栏目:[Python] 日期:2020-12-16 热度:144
设置字段可选 在摆弄了一会之后,你或许会发现管理工具有个限制:编辑表单需要你填写每一个字段,然而在有些情况下,你想要某些字段是可选的。 举个例子,我们想要Author模块中的email字段成为可选,即允许不填。 在现实世界中,你可能没有为每个作者登记邮[详细]
-
详解Django中Request对象的相关用法
所属栏目:[Python] 日期:2020-12-16 热度:111
从Request对象中获取数据 我们在第三章讲述View的函数时已经介绍过HttpRequest对象了,但当时并没有讲太多。 让我们回忆下:每个view函数的第一个参数是一个HttpRequest对象,就像下面这个hello()函数: from django.http import HttpResponsedef hello(reque[详细]
-
Python中max函数用法实例分析
所属栏目:[Python] 日期:2020-12-16 热度:89
本篇章节讲解Python中max函数用法。供大家参考研究。具体如下: 这里max函数是Python内置的函数,不需要导入math模块 # 最简单的max(1,2)max('a','b')# 也可以对列表和元组使用max([1,2])max((1,2))# 还可以指定comparator functionmax('ah','bf',ke[详细]
-
Python的Django框架中的表单处理示例
所属栏目:[Python] 日期:2020-12-16 热度:162
组建一个关于书籍、作者、出版社的例子: 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 = mode[详细]
-
改进Django中的表单的简单方法
所属栏目:[Python] 日期:2020-12-16 热度:71
首先,search()视图对于空字符串的处理相当薄弱――仅显示一条”Please submit a search term.”的提示信息。 若用户要重新填写表单必须自行点击“后退”按钮, 这种做法既糟糕又不专业。如果在现实的案例中,我们这样子编写,那么Django的优势将荡然无存。[详细]
-
简单解析Django框架中的表单验证
所属栏目:[Python] 日期:2020-12-16 热度:78
我们的搜索示例仍然相当地简单,特别从数据验证方面来讲;我们仅仅只验证搜索关键值是否为空。 然后许多HTML表单包含着比检测值是否为空更为复杂的验证。 我们都有在网站上见过类似以下的错误提示信息: 请输入一个有效的email地址, foo' 并不是一个有效的e[详细]
-
在Django框架中编写Contact表单的教程
所属栏目:[Python] 日期:2020-12-16 热度:128
虽然我们一直使用书籍搜索的示例表单,并将起改进的很完美,但是这还是相当的简陋: 只包含一个字段,q。这简单的例子,我们不需要使用Django表单库来处理。 但是复杂一点的表单就需要多方面的处理,我们现在来一下一个较为复杂的例子: 站点联系表单。 这个[详细]
-
详解Django中的form库的使用
所属栏目:[Python] 日期:2020-12-16 热度:145
Django带有一个form库,称为django.forms,这个库可以处理我们本章所提到的包括HTML表单显示以及验证。 接下来我们来深入了解一下form库,并使用她来重写contact表单应用。 Django的newforms库 在Django社区上会经常看到django.newforms这个词语。当人们讨论[详细]
-
在Django的视图中使用form对象的方法
所属栏目:[Python] 日期:2020-12-16 热度:117
在学习了关于Form类的基本知识后,你会看到我们如何把它用到视图中,取代contact()代码中不整齐的部分。 一下示例说明了我们如何用forms框架重写contact(): # views.pyfrom django.shortcuts import render_to_responsefrom mysite.contact.forms import Co[详细]
-
在Django的form中使用CSS进行设计的方法
所属栏目:[Python] 日期:2020-12-16 热度:183
修改form的显示的最快捷的方式是使用CSS。 尤其是错误列表,可以增强视觉效果。自动生成的错误列表精确的使用`` ul class=”errorlist”``,这样,我们就可以针对它们使用CSS。 下面的CSS让错误更加醒目了: style type="text/css" ul.errorlist { margin: 0[详细]
-
在Django的URLconf中进行函数导入的方法
所属栏目:[Python] 日期:2020-12-16 热度:130
看下这个 URLconf: from django.conf.urls.defaults import *from mysite.views import hello,current_datetime,hours_aheadurlpatterns = patterns('',(r'^hello/$',hello),(r'^time/$',current_datetime),(r'^time/plus/(d{1,2})/$',hours_ahead),) 在 UR[详细]
-
在Django的URLconf中使用多个视图前缀的方法
所属栏目:[Python] 日期:2020-12-16 热度:177
在实践中,如果你使用字符串技术,特别是当你的 URLconf 中没有一个公共前缀时,你最终可能混合视图。 然而,你仍然可以利用视图前缀的简便方式来减少重复。 只要增加多个 patterns() 对象,象这样: 旧的: from django.conf.urls.defaults import *urlpatter[详细]
-
在Django的URLconf中使用命名组的方法
所属栏目:[Python] 日期:2020-12-16 热度:79
在我们想要捕获的URL部分上加上小括号,Django 会将捕获的文本作为位置参数传递给视图函数。 在更高级的用法中,还可以使用 命名 正则表达式组来捕获URL,并且将其作为关键字参数传给视图。 一个 Python 函数可以使用关键字参数或位置参数来调用,在某些情况[详细]
-
Django中传递参数到URLconf的视图函数中的方法
所属栏目:[Python] 日期:2020-12-16 热度:115
有时你会发现你写的视图函数是十分类似的,只有一点点的不同。 比如说,你有两个视图,它们的内容是一致的,除了它们所用的模板不太一样: # urls.pyfrom django.conf.urls.defaults import *from mysite import viewsurlpatterns = patterns('',(r'^foo/$',[详细]
-
在Django框架中伪造捕捉到的URLconf值的方法
所属栏目:[Python] 日期:2020-12-16 热度:53
比如说你有匹配某个模式的一堆视图,以及一个并不匹配这个模式但视图逻辑是一样的URL。 这种情况下,你可以通过向同一个视图传递额外URLconf参数来伪造URL值的捕捉。 例如,你可能有一个显示某一个特定日子的某些数据的应用,URL类似这样的: /mydata/jan/01[详细]
