Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Django admin中包装文本(设置列宽)_Python_Django_Django Admin_Word Wrap - Fatal编程技术网

Python 如何在Django admin中包装文本(设置列宽)

Python 如何在Django admin中包装文本(设置列宽),python,django,django-admin,word-wrap,Python,Django,Django Admin,Word Wrap,我有一个模型 class Item(models.Model): id = models.IntegerField(primary_key=True) title = models.CharField(max_length=140, blank=True) description = models.TextField(blank=True) price = models.DecimalField(max_digits=12, decimal_places=2, b

我有一个模型

class Item(models.Model):
    id = models.IntegerField(primary_key=True)
    title = models.CharField(max_length=140, blank=True)
    description = models.TextField(blank=True)
    price = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
还有我的模特管理员

class ItemAdmin(admin.ModelAdmin):
   list_display = ['item_view', 'description', 'item_price', 'seller_view', 'added_on']
   actions = ['add_to_staff_picks']
   search_fields = ('description', 'title')

   def item_view(self, obj):
       item = obj
       url = reverse('admin:%s_%s_change' % ('adminuser', 'item'), args=(item.id,))
       if item.is_active:
          return '<font color="green">%s</font>' % (base64.b64decode(item.title))
       return '<font color="red">%s</font>' % (base64.b64decode(item.title))
       item_view.allow_tags = True
       item_view.short_description = 'Title'
class ItemAdmin(admin.ModelAdmin):
列表显示=['项目视图','说明','项目价格','卖方视图','添加']
actions=['add_to_staff_picks']
搜索字段=('description','title')
def项目_视图(自身、obj):
项目=obj
url=reverse('admin:%s\u%s\u更改“%”('adminuser','item'),args=(item.id,)
如果item.u处于活动状态:
返回“%s%”(base64.b64解码(item.title))
返回“%s%”(base64.b64解码(item.title))
item_view.allow_tags=True
item_view.short_description='Title'

我需要显示Django管理站点中包装的字段“title”(为title列固定宽度)。我怎样才能做到这一点。请帮助。

如果我理解正确,您需要Django的admin类的
列表显示属性

示例“admin.py” 更新答案(2014-08-08)
  • 看到这个了吗
您的管理模块:

from django.conf import settings

class ItemAdmin(admin.ModelAdmin):
    # Some other code
    class Media:
        js = (
            '{0}js/jquery-1.10.2.min.js'.format(settings.STATIC_URL),
            '{0}js/jquery.expander.min.js'.format(settings.STATIC_URL),
            '{0}your_app/js/your_code.js'.format(settings.STATIC_URL),
            )
比方说,我们将使用jquery.expander插件

然后您的“your_code.js”将如下所示:

;
$(document).ready(function() {
   // Assuming that your element that would be wrapped comes as second td (column).
   // If not, adjst the nth-child(2). 
   $('#result_list tbody tr td:nth-child(2)').each(function(e) {
        $(this).expander({
            slicePoint:       50,  // default is 100
            expandSpeed: 0,
            expandEffect: 'show',
            collapseSpeed: 0,
            collapseEffect: 'hide',
            expandPrefix:     ' ', // default is '... '
            expandText:       '[...]', // default is 'read more'
            userCollapseText: '[^]'  // default is 'read less'
        });
   });
});

将函数添加到您的
模型
,然后在
modelAdmin
中调用该函数

#Model
def shortTitle(self):
    return str(self.title)[:50]

#modelAdmin
class ItemAdmin(admin.ModelAdmin):
   list_display = ['shortTitle', ...

没有。我已经添加了列表显示。但是假设我加了一段400长的话,它会很大,对吧?。。我想把我的描述包装成“这是关于看更多…”谢谢你,亚瑟。你让我很开心……)我使用了from django.templatetags.static导入static,而不是导入设置:)这会截断,但不会强制换行。
#Model
def shortTitle(self):
    return str(self.title)[:50]

#modelAdmin
class ItemAdmin(admin.ModelAdmin):
   list_display = ['shortTitle', ...