小编M.j*_*vid的帖子

我什么时候应该使用ugettext_lazy?

我有一个关于使用ugettext和ugettext_lazy翻译的问题.我在模型中学到了我应该使用的ugettext_lazy,而在视图ugettext中.但是还有其他地方,我应该在哪里使用ugettext_lazy?表格定义怎么样?它们之间是否有任何性能差异?

编辑: 还有一件事.有时候,不是ugettext_lazy,ugettext_noop被使用.正如文档所说,ugettext_noop字符串只标记为翻译并在最新可能的情况下翻译,然后再显示给用户,但我在这里有点困惑,是不是与此类似ugettext_lazy?我仍然很难决定哪个,我应该在我的模型和表格中使用哪个.

python django translation

134
推荐指数
3
解决办法
3万
查看次数

无效的http_host标头

我正在尝试使用Django框架开发一个网站,并使用DigitalOcean.com启动并将必要的文件部署到django-project中.

我不得不将静态文件包含到Django-project中并且在收集静态文件之后,我尝试刷新我的ip

我包括了我用来创建网站的教程. https://www.pythonprogramming.net/django-web-server-publish-tutorial/

我收到以下错误:

DisallowedHost at/Invalid HTTP_HOST标题:'198.211.99.20'.您可能需要将u'198.211.99.20'添加到ALLOWED_HOSTS.

有人可以帮我解决这个问题吗?这是我第一个使用Django框架的网站.

python django http-host python-2.7

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

列表中的多对多显示django

class PurchaseOrder(models.Model):
    product = models.ManyToManyField('Product')
    vendor = models.ForeignKey('VendorProfile')
    dollar_amount = models.FloatField(verbose_name='Price')


class Product(models.Model):
   products = models.CharField(max_length=256)

   def __unicode__(self):
       return self.products
Run Code Online (Sandbox Code Playgroud)

我有那个代码.不幸的是,错误来自admin.py中ManyToManyField

class PurchaseOrderAdmin(admin.ModelAdmin):
    fields = ['product', 'dollar_amount']
    list_display = ('product', 'vendor')
Run Code Online (Sandbox Code Playgroud)

错误说:

'PurchaseOrderAdmin.list_display [0]','product'是不受支持的ManyToManyField.

然而,当我把它编译'product'出来的list_display.那么如何'product'list_display不给出错误的情况下显示呢?

编辑:也许一个更好的问题是你如何显示ManyToManyFieldlist_display

python django admin django-admin django-queryset

68
推荐指数
3
解决办法
4万
查看次数

如何在Django中使用UUID

我正在尝试为我的Django对象获取唯一的ID.在Django 1.8中,他们拥有UUIDField.我不确定如何使用此字段为我的模型中的每个对象生成唯一的ID.

这是我对UUIDField的看法

import uuid
from django.db import models

class MyUUIDModel(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

class Person(models.Model):
    ...
    unique_id = MyUUIDModel()
Run Code Online (Sandbox Code Playgroud)

我可以重现UUID模型的id,但每次我都会得到完全相同的id.:(. 例如:

person = Person.objects.get(some_field = some_thing)
id = person.unique_id.id
Run Code Online (Sandbox Code Playgroud)

id然后每次给我相同的id.有什么问题,我该如何解决这个问题?谢谢您的帮助!

python django uuid django-models

39
推荐指数
4
解决办法
4万
查看次数

为什么CELERY_ROUTES同时具有"队列"和"routing_key"?

我对AMQP的理解是消息只有以下组件:

  1. 消息体
  2. 路由密钥
  3. 找的零钱

队列附加到交易所.消息不能具有任何队列知识.它们只是发布到交换机,然后根据交换类型和路由密钥,消息被路由到一个或多个队列.

在Celery中,推荐的路由任务方法是通过CELERY_ROUTES设置.来自文档,CELERY_ROUTES是......

路由器列表,或用于将任务路由到队列的单个路由器. http://celery.readthedocs.org/en/latest/configuration.html#message-routing

它包括一个例子......

要将任务路由到feed_tasks队列,可以在CELERY_ROUTES设置中添加条目 :

CELERY_ROUTES = {
    'feeds.tasks.import_feed': {
        'queue': 'feed_tasks',
        'routing_key': 'feed.import',
    },
}
Run Code Online (Sandbox Code Playgroud)

但是等一下 - 根据AMQP,消息只带有路由密钥!什么是"排队"在那里做什么?

此外,还有一个默认队列的概念.如果您调用未被捕获的任务CELERY_ROUTES,则会回退到CELERY_DEFAULT_QUEUE.但是再次 - 在AMQP中,消息不知道队列.这不应该是默认的路由密钥吗?

python amqp celery

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

如何获取Tornado请求的客户端IP?

我有一个RequestHandler传入post()的对象.如何找到发出请求的客户端的IP?我浏览了大部分RequestHandler的方法和属性,似乎错过了一些东西.

python tornado

31
推荐指数
2
解决办法
2万
查看次数

如何将PIL Image.image对象转换为base64字符串?

我试图以90度角旋转它来操纵base64编码图像.在这个操作之后,我想将它转换回base64字符串.但遗憾的是无法实现这一目标.

这是我到目前为止所做的:

image_string = StringIO(base64.b64decode(base64_string_here))
image = Image.open(image_string)
angle = 90
rotated_image = image.rotate( angle, expand=1 )
Run Code Online (Sandbox Code Playgroud)

恩迪帮我如何将rotate_image转换为base64字符串.

dir()是rotate_image:

[ '_Image__transformer', '__doc__', '__getattr__', '__init__', '__module__', '__repr__', '_copy', '_dump', '_expand', '_makeself', '_new', '类别',"转换", '复制', '剪裁', '草稿', '过滤器', '格式', 'format_description', 'fromstring', 'getbands', 'getbbox', 'getcolors', '的GetData', 'getextrema' , 'getim', 'GetPalette进行', 'getpixel', 'getprojection', '直方图', '聊天', '信息', '负载', '模式', '偏移', '调色板', '粘贴',"点','putalpha','putdata','putpalette','putpixel','量化','只读', '调整', '旋转', '拯救', '寻求', '秀', '大小', '分裂', '告诉', '缩略图', 'tobitmap', '的toString',"转换','transpose','验证']

python python-imaging-library

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

格式错误的数据包:Django管理嵌套表单无法提交,连接被重置

我有一个django嵌套管理员表单,下面的代码是我的admin.py文件内容:

# -*- coding:utf-8 -*-
from django.db.models import Q
from django import forms

from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
from django.contrib import admin
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from django.contrib.auth.hashers import UNUSABLE_PASSWORD_PREFIX, identify_hasher
from django.forms.utils import flatatt
from django.utils.html import format_html
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext as _, ugettext
from django.contrib.auth.models import Group, Permission
from nested_admin.nested import NestedStackedInline, NestedModelAdmin

from HomeMakers.apps.system.models import Dependant, Benefit, User, \
    Unit, Stack, Parking
from mtools.fields import UniqueValueWidget, PersianDateField


class …
Run Code Online (Sandbox Code Playgroud)

python django django-admin nested-forms

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

Django:非ASCII字符

我的Django视图/模板无法处理特殊字符.由于ñ,下面的简单视图失败了.我得到以下错误:

文件中的非ASCII字符'\ xf1'

def test(request):
    return HttpResponse('español')
Run Code Online (Sandbox Code Playgroud)

我需要设置一些常规设置吗?如果我必须分别处理所有字符串会很奇怪:非美国字母很常见!

编辑 这是对以下评论的回应.它仍然失败:(

我按照Gabi的建议将编码注释添加到我的视图中,并将元信息添加到我的html中.

现在我上面的例子没有给出错误,但是ñ显示不正确.

我试过了return render_to_response('tube/mysite.html', {"s": 'español'}).没有错误,但是没有错误(如果s = hello则会发生).html页面上的其他信息显示正常.

我尝试将'español'硬编码到我的HTML中,但失败了:

UnicodeDecodeError'utf8'编解码器无法解码字节0xf.

我在字符串前面尝试了你:

SyntaxError(unicode error)'utf8'编解码器无法解码字节0xf1

这有帮助吗?

python django unicode utf-8

21
推荐指数
3
解决办法
4万
查看次数

SQLAlchemy过滤in_运算符

我试图对sqlalchemy中的查询进行简单的过滤操作,如下所示:

q = session.query(Genotypes).filter(Genotypes.rsid.in_(inall))
Run Code Online (Sandbox Code Playgroud)

哪里

inall是一个字符串列表基因型映射到一个表:class Genotypes(object):pass

Genotypes.mapper = mapper(Genotypes, kg_table, properties={'rsid': getattr(kg_table.c, 'rs#')})
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很简单,但是当我通过执行以下操作执行上述查询时出现以下错误q.first():

"sqlalchemy.exc.OperationalError:(OperationalError)太多的SQL变量u'SELECT"随后在1M的项目列表inall 列表.但它们不应该是SQL变量,只是一个列表,其成员资格是过滤条件.

我不正确地进行过滤吗?

(db是sqlite)

python sqlite sqlalchemy

17
推荐指数
2
解决办法
4万
查看次数