是的,所以,我想为我的模型存储翻译的选择,但Django在这一点上不同意我的看法.Django的版本是1.3,模型和选择看起来像这样:
from django.db import models
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
RATE_CHOICES = (
('', _('Choose service rate')),
('5cpm_EUR', mark_safe(string_concat('€ 0,05 ', _('per minute')))),
('1cpm_EUR', mark_safe(string_concat('€ 0,01 ', _('per minute')))),
)
class Product(models.Model):
service_rate = models.CharField(_('service rate'), max_length=10, blank=True, choices=RATE_CHOICES)
Run Code Online (Sandbox Code Playgroud)
此外,选择用于模型形式(对于另一个模型,所以我必须重新声明该字段),如下所示:
service_rate = forms.ChoiceField(choices=RATE_CHOICES, widget=forms.Select(attrs={'class': 'chzn-select rate-select'}), required=False)
Run Code Online (Sandbox Code Playgroud)
问题在于无论我尝试什么; 遵循django文档中的内容,颠倒mark_safe和翻译的顺序,不使用延迟翻译等.它总是归结为mark_safe工作或翻译工作.但从来没有......
如何正确组合这两个功能?
我的问题应该是相当简单的,而不是需要拼命修复的问题.谷歌无法给我我想要的答案,所以我希望你的专业知识可以帮助我.我在用:
Django 1.4
Celery 2.5.5
Redis 2.4.10 (latest version on homebrew?)
Run Code Online (Sandbox Code Playgroud)
我正在使用以下命令运行所有内容:
redis-server /usr/local/etc/redis.conf
foreman run python manage.py runserver
foreman run "python manage.py celeryd -E -B --loglevel=INFO"
foreman run python manage.py celerycam
Run Code Online (Sandbox Code Playgroud)
在我的settings.py中,我为Celery配置了以下配置:
import djcelery
djcelery.setup_loader()
BROKER_URL = redis
CELERY_RESULT_BACKEND = 'redis'
CELERY_REDIS_HOST = "localhost"
CELERY_REDIS_PORT = 6379
CELERY_REDIS_DB = 0
CELERY_SEND_TASK_ERROR_EMAILS = True
CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
CELERY_TASK_RESULT_EXPIRES = 172800 # 48 hours.
Run Code Online (Sandbox Code Playgroud)
使用这种配置,除了一件事之外,它似乎都有效:
使用django-celery,您可以在django admin中自动获得芹菜整合(整洁!),您可以检查所有未过期的任务的状态并安排新的任务等.
在admin的任务列表中,不显示任何值,表示所有值均为None.当我点击一个值时,我可以看到详细信息,所以它看起来确实正在被正确收集.这只是一个细节,但它让我很烦.
可能是因为它没有在列表中显示这些值,我该怎么做才能修复它?
提前致谢
编辑:截图
所以这里有一些截图,因为你可以看到像uuid等所有的值都是None,但它确实看到任务完成与否.在第二个屏幕截图中,您可以看到详细信息页面(在您单击任务后),此处它包含所有信息.
第二张图片:
我正在尝试阻止bootstrap-3模式在模态内部对表单进行更改时关闭而不发出警告.但是,当我听到模态触发的事件并返回false时,它将阻止模态永远关闭.这是我的代码:
$(function() {
$('body').live('shown.bs.modal', '#quickbutton-create', function () {
$(this).find('#quickbutton-create form').monitor();
});
$('body').live('hide.bs.modal', '#quickbutton-create', function () {
if ($(this).find('#quickbutton-create form').monitor('has_changed')) {
if (!confirm('Are you sure?')) {
return false;
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
所以总之,在这种情况下; 如何防止模态只关闭一次.
django ×2
forms ×2
celery ×1
django-admin ×1
javascript ×1
jquery ×1
modal-dialog ×1
model ×1
redis ×1
translation ×1