在Django中,我很高兴使用ugettext_lazy仅在需要表示字符串时才能翻译字符串.
问题是,当我将一个惰性字符串连接到一个普通字符串或当我使用它的方法(例如,capitalize())时,字符串被评估并且我松散了懒惰的翻译.
例如
label = ugettext_lazy('my label') #This is lazy
label_concat = label + ' some other string' #'label_concat' contains transalted 'label'
label_cap = label.capitalize() #'label_cap' contains transalted 'label'
#Set language
...
print label #Translated
print label_cap #Not translated
Run Code Online (Sandbox Code Playgroud)
我知道这是Django的正常行为,但我想知道是否有人解决了这个问题.
django translation gettext internationalization lazy-evaluation
EDITED
我必须使用字典中的值格式化字符串,但字符串已包含大括号.例如:
raw_string = """
DATABASE = {
'name': '{DB_NAME}'
}
"""
Run Code Online (Sandbox Code Playgroud)
但是,当然,raw_string.format(my_dictionary)KeyErro的结果.
有没有办法使用不同的符号.format()?
这不是重复的如何在python字符串中打印文字大括号字符并在其上使用.format?因为我需要保持大括号,并使用不同的分隔符.format.
我非常喜欢Python的"包含电池"的哲学,但现在我必须执行只有核心功能和其他一些我想逐个选择的超薄安装.
是否可以仅使用选定的模块下载Python?
使用https://github.com/llazzaro/django-scheduler我想在日历中使用我自己的模型,他们也有一个开始和结束日期.
我认为有多种方法可以解决这个问题:
我想使用第三个选项但我不知道如何使用它,因为日历链接到单个对象.
我是Python和Django的新手,所以有人可以给我建议吗?
我必须构建一个复杂的报告(例如标题,文本和多个列表和图表,在这里和那里排列在多个页面上).像复杂的发票.
我在Pentaho的网上找不到这样的例子.
我尝试使用子报表,但它导致30个嵌套的子报表,我认为这不好.
主要问题是我有结构化数据,我觉得在简单的行集中转换它并不舒服.实际上,我更喜欢从Web服务中检索数据.
那么,Pentaho是正确的工具吗?我怎样才能实现目标?(并且...... Stckoverflow是发布此问题的正确位置吗?)
我必须'解析'格式字符串才能提取变量.
例如
>>> s = "%(code)s - %(description)s"
>>> get_vars(s)
'code', 'description'
Run Code Online (Sandbox Code Playgroud)
我设法通过使用正则表达式来做到这一点:
re.findall(r"%\((\w+)\)", s)
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有内置的解决方案(实际上Python会解析字符串以便对其进行评估!).
我已经覆盖了模型的默认管理器,以便根据登录的用户(一种特定于对象的权限)仅显示允许的项目:
class User_manager(models.Manager):
def get_query_set(self):
""" Filter results according to logged user """
#Compose a filter dictionary with current user (stored in a middleware method)
user_filter = middleware.get_user_filter()
return super(User_manager, self).get_query_set().filter(**user_filter)
class Foo(models.Model):
objects = User_manager()
...
Run Code Online (Sandbox Code Playgroud)
这样,每当我使用 时Foo.objects,都会检索当前用户,并将过滤器应用于默认查询集,以便仅显示允许的记录。
然后,我有一个带有 Foo 的外键的模型:
class Bar(models.Model):
foo = models.ForeignKey(Foo)
class BarForm(form.ModelForm):
class Meta:
model = Bar
Run Code Online (Sandbox Code Playgroud)
当我编写 BarForm 时,我期望只看到过滤器 Foo 实例,但未应用过滤器。我认为这是因为查询集是在 Django 启动时评估和缓存的,当时没有用户记录并且没有应用过滤器。
有没有一种方法可以让 Django 在运行时评估 ModelChoice 查询集,而不必在表单定义中明确说明?(尽管存在所有性能问题......)
编辑 我找到了查询集的评估位置(django\db\models\fields\lated.py: 887):
def formfield(self, **kwargs):
db = kwargs.pop('using', None)
defaults = …Run Code Online (Sandbox Code Playgroud) 我必须转换我的Django应用程序,使其符合" 21 CFR Part 11 ",即使电子记录与签名纸质记录具有相同的有效性.我应该看看是否有任何项目或应用程序?
一些问题:
我在网上找不到现成的解决方案......
我正在发送带有结构化后期数据的Ajax请求(带有jQuery):
$.post(
myUrl,
{
items: [{code: 'a', description: 'aaa'},
{code: 'b', description: 'bbb'}]
})
Run Code Online (Sandbox Code Playgroud)
我看到的request.POST是:
<QueryDict: {u'items[0][code]': [u'a'],
u'items[0][description]': [u'aaa'],
u'items[1][description]': [u'bbb'],
u'items[1][code]': [u'b']}>
Run Code Online (Sandbox Code Playgroud)
如何处理获取原件的请求items?
(注意request.POST.get('items')不起作用)
由于程序中的错误,我的数据库中有一些半重复的数据.我想合并这些记录(或删除重复项).
我的数据如下:
usertable:
(userid, username, useremail)
101, joeuser, joeuser@mycompany
102, joeuser, joeuser@mycompany
datatable:
(userid, datasubmitted)
101, mysubmittedata
102, othersubmitteddata
Run Code Online (Sandbox Code Playgroud)
我想摆脱任何重复的id并将任何id的任何记录合并到一个userid中.
完成后,我希望数据看起来像这样:
usertable:
(userid, username, useremail)
101, joeuser, joeuser@mycompany
datatable:
(userid, datasubmitted)
101, mysubmittedata
101, othersubmitteddata
Run Code Online (Sandbox Code Playgroud) 我想打印患者收据数据包含以下详细信息:姓名,uid,年龄,身高...............电子邮件,药品,剂量等.
现在我的问题是如何打印药物foreg:medicine-1,medicine-2,medicine-3 .... n sooo on ... in html ..
{% for pmed in meds %}
Medicine
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但实际上想要以这种方式打印html:我的前半部分是运行bcoz它可以单个数据...例如:
patient name: {{patient.name}}
uhid: {{patient.uhid}}
age: {{patient.age}}
Gender: {{patient.gender}}
Height: {{patient.height}}
Weight: {{patient.weight}}
Run Code Online (Sandbox Code Playgroud)
但问题是药物的一部分..至于一个病人他们的意志b让3说药...所以我可以打印药物部分..在HTML中.我的尝试如下:
{% for pmed in meds %}
{{pmed.medicine-forloop.counter}}
like for medicine-1:crocin, medicine-2:paraseta
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我没准确......你可以帮助我吗?
提前.
django ×6
python ×4
21cfr11 ×1
ajax ×1
cheetah ×1
corrupt-data ×1
counter ×1
distribution ×1
django-forms ×1
for-loop ×1
format ×1
gettext ×1
jquery ×1
memcached ×1
mysql ×1
parsing ×1
pentaho ×1
post ×1
python-2.x ×1
regex ×1
reporting ×1
syntax ×1
translation ×1