V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
myyou
V2EX  ›  Python

django admin.py 如何定制错误信息提示?

  •  
  •   myyou · 2017-01-12 17:18:03 +08:00 · 4057 次点击
    这是一个创建于 2856 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问下图中红色错误提示可不可以定制? Markdown

    第 1 条附言  ·  2017-01-13 17:54:22 +08:00

    问题解决了 定义一个form就行 例:

    from django import forms
    
    class BookForm(forms.ModelForm):
        class Meta:
            model = Book
    
        def clean(self):
            prince = self.cleaned_data.get('prince')
            if isinstance(price, int):
                raise forms.ValidationError(u'价格应为数字')
            return self.cleaned_data
    
    第 2 条附言  ·  2017-01-13 18:24:27 +08:00
    class BookAmin(admin.ModelAdmin):
        form = BookForm
        llist_display = ('name', 'price')
    
        def save_model(self, request, obj, form, change):
            cdata = form.cleaned_data
            obj.save()
    

    admin 里加入 form = BookForm就行了,如果想要传值可以使用cleaned_data。

    8 条回复    2017-01-14 08:58:07 +08:00
    banks0913
        1
    banks0913  
       2017-01-12 20:36:28 +08:00
    在 locale/zh_Hans/LC_MESSAGES/django.po 覆盖 django 原生的翻译?
    tinypig
        2
    tinypig  
       2017-01-12 20:59:03 +08:00
    django 版本太低? Settings 里面设置 LANGUAGE_CODE = 'zh-hans' 以后应该是中文的
    myyou
        3
    myyou  
    OP
       2017-01-13 10:45:19 +08:00
    @banks0913 @tinypig 并不是要汉化,例如:红字“输入整数”调整为“价格应为数字”
    banks0913
        4
    banks0913  
       2017-01-13 11:07:43 +08:00
    @myyou 我知道啊,这些中文内容就在国际化文件 django.po 里,你通过重写的方式把英文对应的中文 “输入整数”改为“价格应为数字”就好。
    LeoQ
        5
    LeoQ  
       2017-01-13 12:08:18 +08:00 via iPhone
    关键词应该是 admin validate 你可以尝试搜索一下,我也搜索一下,如果有相关信息再回复。
    myyou
        7
    myyou  
    OP
       2017-01-13 17:55:01 +08:00
    @LeoQ 问题解决了参见附言
    zhushajun
        8
    zhushajun  
       2017-01-14 08:58:07 +08:00 via iPhone
    @banks0913 这样的话在其他需要显示输入整数的地方也会变成价格应为数字了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3011 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:30 · PVG 21:30 · LAX 05:30 · JFK 08:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.