我正在尝试使用unicode字符串(u'\ xe4\xf6\xfc')作为Python中的参数进行HTTP POST,但是我收到以下错误:
UnicodeEncodeError:'ascii'编解码器无法编码字符
这是用于进行HTTP POST的代码(使用httplib2)
http = httplib2.Http()
userInfo = [('Name', u'\xe4\xf6\xfc')]
data = urlencode(userInfo)
resp, content = http.request(url, 'POST', body=data)
Run Code Online (Sandbox Code Playgroud)
关于如何解决这个问题的任何想法?
我需要进行真正的分页,而不是对所有已检索的数据进行分页.Django文档站点中的示例,如;
def listing(request):
contact_list = Contacts.objects.all()
paginator = Paginator(contact_list, 25) # Show 25 contacts per page
page = request.GET.get('page')
try:
contacts = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
contacts = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
contacts = paginator.page(paginator.num_pages)
return render_to_response('list.html', {"contacts": contacts})
Run Code Online (Sandbox Code Playgroud)
此代码在所有已检索记录上分页记录.但是有一个麻烦.如果记录太多,试图检索所有记录需要花费很多时间.我需要一个解决方案来从数据库中逐页检索记录.
在Django中有另一种解决方案吗?
我有一个词典列表,例如:
dictList = [
{'a':3, 'b':9, 'c':4},
{'a':9, 'b':24, 'c':99},
{'a':10, 'b':23, 'c':88}
]
Run Code Online (Sandbox Code Playgroud)
所有词典都具有相同的键,例如a,b,c.我希望创建一个具有相同键的单个字典,其中值是原始列表中所有字典中具有相同键的值的总和.
所以对于上面的例子,输出应该是:
{'a':22, 'b':56, 'c':191}
Run Code Online (Sandbox Code Playgroud)
这样做最有效的方法是什么?我目前有:
result = {}
for myDict in dictList:
for k in myDict:
result[k] = result.setdefault(k, 0) + myDict[k]
Run Code Online (Sandbox Code Playgroud) 既然有一个python 3.x,我们为什么不使用它呢?
为什么我们仍然使用2.x?
有什么不同?
使用Python 2.5,我有一些文本存储在unicode对象中:
Dinis e Isabel,umadifı'cilrelacóa~oconjugalepolı'tica
这似乎是分解Unicode.Python中是否有通用的方法来反转分解,所以我最终得到:
Dinis e Isabel,umadifícilrelaçãoconclarationepolítica
我有以下Django模型:
class Foo(models.Model):
title = models.CharField(_(u'Title'), max_length=600)
class Bar(models.Model):
foo = models.ForeignKey(Foo)
eg_id = models.PositiveIntegerField(_(u'Example ID'), default=0)
Run Code Online (Sandbox Code Playgroud)
我希望返回列表Foo
它有一个反向关系的对象Bar
是有对象eg_id
包含在值列表值.所以我有:
id_list = [7, 8, 9, 10]
qs = Foo.objects.filter(bar__eg_id__in=id_list)
Run Code Online (Sandbox Code Playgroud)
如何Foo
根据Bar
具有eg_id
值的相关对象的数量来对匹配对象进行排序id_list
?
是否可以读取Django模型的字段选项?例如,使用模型:
class MyModel(models.Model):
source_url = models.URLField(max_length=500)
...
Run Code Online (Sandbox Code Playgroud)
即如何以编程方式从视图或表单中读取'max_length'选项.
我目前的解决方法是定义一个单独的类属性:
class MyModel(models.Model):
SOURCE_URL_MAX_LENGTH=500
source_url = models.URLField(max_length=SOURCE_URL_MAX_LENGTH)
...
Run Code Online (Sandbox Code Playgroud)
然后我可以从任何导入models.MyModel的地方访问它,例如:
from models import MyModel
max_length = MyModel.SOURCE_URL_MAX_LENGTH
Run Code Online (Sandbox Code Playgroud)