django官网ModelForm ModelAdmin ,action

格式整理

  1. ModelForm
class AuthorForm(ModelForm):
        title = CharField(validators=[def_of_validator_name])

    class Meta:
        model = Author
        fields = ('name', 'title', 'birth_date')  
        widgets = {
            'name': Textarea(attrs={'cols': 80, 'rows': 20}),
        }
        labels = {
            'name': _('Writer'),
        }
        help_texts = {
            'name': _('Some useful help text.'),
        }
        error_messages = {
            'name': {
                'max_length': _("This writer's name is too long."),
            },
        }

2 ModelAdmin

class ArticleAdmin(admin.ModelAdmin):
    ## 2 
    search_fields=('title','join__xx')
    list_display = ['title', 'status']
    list_filter=('title',)
    list_editable=('xxx',)
    ordering = ['title']
    actions = [make_published]
    ## 3
    filter_horizontal=('manytomany',)

admin.site.register(Article, ArticleAdmin)

3 Admin Action

django官网ModelForm  ModelAdmin ,action

models.py

from django.db import models
from django.utils.html import format_html

STATUS_CHOICES = (
    ('d', 'Draft'),
    ('p', 'Published'),
    ('w', 'Withdrawn'),
)

class Article(models.Model):
    title = models.CharField(max_length=100)
    body = models.TextField()
    status = models.CharField(max_length=1, choices=STATUS_CHOICES)

    ## for web display  
    def colored_status(self):
           if self.status=='d':
                format_td=format_html('<span class="xxxcolor">xxx<span>')
          return format_td
     colored_status.short_description="onweb_show_name"         

    def __str__(self):
        return self.title

admin.py

from django.contrib import admin
from myapp.models import Article

def make_published(modeladmin, request, queryset):
    queryset.update(status='p')
make_published.short_description = "Mark selected stories as published"

class ArticleAdmin(admin.ModelAdmin):
    list_display = ['xxx',]
    actions = [make_published]

admin.site.register(Article, ArticleAdmin)

django官网ModelForm  ModelAdmin ,action

转载于:https://blog.51cto.com/13606158/2083372

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值