小编msa*_*ers的帖子

UnicodeEncodeError:'ascii'编解码器在Python中尝试HTTP POST时无法对字符进行编码

我正在尝试使用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)

关于如何解决这个问题的任何想法?

python unicode ascii http-post

10
推荐指数
1
解决办法
1万
查看次数

Django分页

我需要进行真正的分页,而不是对所有已检索的数据进行分页.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中有另一种解决方案吗?

python django mongodb django-pagination

8
推荐指数
1
解决办法
3525
查看次数

如何通过使用公共密钥对值进行求和,从一系列dicts创建单个Python dict?

我有一个词典列表,例如:

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

7
推荐指数
2
解决办法
5836
查看次数

python 2.x或3.x.

既然有一个python 3.x,我们为什么不使用它呢?
为什么我们仍然使用2.x?
有什么不同?

python python-3.x

7
推荐指数
4
解决办法
2926
查看次数

如何使用Python反转Unicode分解?

使用Python 2.5,我有一些文本存储在unicode对象中:

Dinis e Isabel,umadifı'cilrelacóa~oconjugalepolı'tica

这似乎是分解Unicode.Python中是否有通用的方法来反转分解,所以我最终得到:

Dinis e Isabel,umadifícilrelaçãoconclarationepolítica

python unicode

6
推荐指数
2
解决办法
1684
查看次数

Django QuerySet按反向ForeignKey匹配的数量排序

我有以下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

python django

3
推荐指数
1
解决办法
4171
查看次数

阅读Django模型的字段选项

是否可以读取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)

python django

1
推荐指数
1
解决办法
509
查看次数