我有一个关于使用ugettext和ugettext_lazy
翻译的问题.我在模型中学到了我应该使用的ugettext_lazy
,而在视图ugettext中.但是还有其他地方,我应该在哪里使用ugettext_lazy
?表格定义怎么样?它们之间是否有任何性能差异?
编辑:
还有一件事.有时候,不是ugettext_lazy
,ugettext_noop
被使用.正如文档所说,ugettext_noop
字符串只标记为翻译并在最新可能的情况下翻译,然后再显示给用户,但我在这里有点困惑,是不是与此类似ugettext_lazy
?我仍然很难决定哪个,我应该在我的模型和表格中使用哪个.
我正在尝试使用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框架的网站.
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
不给出错误的情况下显示呢?
编辑:也许一个更好的问题是你如何显示ManyToManyField
的list_display
?
我正在尝试为我的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.有什么问题,我该如何解决这个问题?谢谢您的帮助!
我对AMQP的理解是消息只有以下组件:
队列附加到交易所.消息不能具有任何队列知识.它们只是发布到交换机,然后根据交换类型和路由密钥,消息被路由到一个或多个队列.
在Celery中,推荐的路由任务方法是通过CELERY_ROUTES
设置.来自文档,CELERY_ROUTES
是......
路由器列表,或用于将任务路由到队列的单个路由器. http://celery.readthedocs.org/en/latest/configuration.html#message-routing
它包括一个例子......
要将任务路由到feed_tasks队列,可以在
CELERY_ROUTES
设置中添加条目 :Run Code Online (Sandbox Code Playgroud)CELERY_ROUTES = { 'feeds.tasks.import_feed': { 'queue': 'feed_tasks', 'routing_key': 'feed.import', }, }
但是等一下 - 根据AMQP,消息只带有路由密钥!什么是"排队"在那里做什么?
此外,还有一个默认队列的概念.如果您调用未被捕获的任务CELERY_ROUTES
,则会回退到CELERY_DEFAULT_QUEUE
.但是再次 - 在AMQP中,消息不知道队列.这不应该是默认的路由密钥吗?
我有一个RequestHandler
传入post()
的对象.如何找到发出请求的客户端的IP?我浏览了大部分RequestHandler
的方法和属性,似乎错过了一些东西.
我试图以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','验证']
我有一个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) 我的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
这有帮助吗?
我试图对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 ×10
django ×6
django-admin ×2
admin ×1
amqp ×1
celery ×1
http-host ×1
nested-forms ×1
python-2.7 ×1
sqlalchemy ×1
sqlite ×1
tornado ×1
translation ×1
unicode ×1
utf-8 ×1
uuid ×1