`
fdayok
  • 浏览: 28760 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

django 1.2 使用自定义Widget实现在change_view页面中增加额外元素

阅读更多
最终实现效果

直接上代码:
新建模块widgets.py
from django.contrib.admin.widgets import AdminFileWidget
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext as _

class FileWidgetWithExample(AdminFileWidget):
    """
    A FileField Widget that shows its current value if it has one.
    """
    def __init__(self, attrs = {}):
        super(FileWidgetWithExample, self).__init__(attrs)

    def render(self, name, value, attrs = None):
        output = []
        output.append(super(FileWidgetWithExample, self).render(name, value, attrs))
        output.append('<p class="help"><a target="_blank" href="/download/?model=%s&filetype=xml">%s</a></p>' % \
                      (name, _('Example')))
        return mark_safe(u''.join(output))


admin.py
class FileModelAdmin(djopt.ModelAdmin):
    formfield_overrides = {djmdl.FileField: {'widget': mywdg.FileWidgetWithExample}}

djsite.site.register(mym.FileModel, FileModelAdmin)
分享到:
评论
1 楼 Leonaking 2011-08-31  
请问我不像替换所有的FileField呢?只替换其中的一个该怎么做?

相关推荐

    django1.2文档

    文档中包含的 `django1.2.chm` 和 `djangobook2ch.chm` 文件分别提供了 Django 1.2 的中文版和英文版官方文档,对于学习和查阅 Django 1.2 的相关知识非常有帮助。CHM 文件是一种帮助文件格式,包含了索引、搜索和...

    Django后台输入框联想、自定义页面、搜索框等

    在Django框架中,开发一个功能丰富的后台管理系统是常见的需求,包括自定义页面、输入框联想、搜索功能以及权限管理等。本项目旨在提供一种实现这些功能的方法,以提升用户体验和管理效率。以下是对这些知识点的详细...

    Django 1.2 E-commerce

    ### Django 1.2 电子商务应用详解 #### 一、前言 随着互联网技术的不断发展,电子商务已经成为现代商业的重要组成部分。作为一款强大的Python Web框架,Django提供了丰富的工具和库来构建高性能、高安全性的Web...

    django admin 自定义替换change页面模板的方法

    举个简单的例子:(此仅限于修改change_form页面) 原来的时候,change_form_list是包含这些按钮的: 因为此页面继承了 {% extends 'admin/change_form.html' %} 所以,可以将admin/change_form.html 拷贝到指定...

    Python库 | django-rq-wrapper-1.2.macosx-10.11-x86_64.tar.gz

    在Django项目中,使用django-rw-wrapper可以方便地将耗时的操作(如发送邮件、图像处理等)放到后台执行,从而提高Web应用的响应速度。 **核心功能** 1. **任务队列管理**:django-rq-wrapper提供了一种简单的方法...

    Django 1.2

    在 Django 1.2 中引入的重要新特性主要包括: Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的软件设计模式,即模型M,模版T和视图控制器V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以...

    sun-web.tar.gz_Django_web_django_django blog_python html_python

    1. **Django框架**:Django是Python编程语言中的一款高级Web开发框架,它遵循MTV(Model-Template-View)设计模式,提供了一整套解决方案,包括数据库模型设计、URL路由、视图处理以及模板渲染等功能,帮助开发者...

    django rest framework 自定义返回方式

    在使用Django Rest Framework开发API时,我们常常需要自定义返回信息,以便更好地与前端进行交互。默认情况下,DRF的响应(Response)通常只包含数据(data),这对于某些复杂的应用场景是不够的,因为我们还需要...

    Django template 自定义模板标签实现

    3. **在模板中使用**:在Django模板中,你需要先导入自定义标签库,然后才能使用自定义标签。导入语法是`{% load mytags %}`,其中`mytags`是模块名(不包括`templatetags`)。之后,就可以在模板中像使用内置标签...

    django python taggit_python_django_

    然后在模型中使用自定义的`TaggedItemBase`子类: ```python tags = GenericTaggableManager(through=CustomTaggedItem, verbose_name='tags') ``` 最后,为了在模板中显示标签,可以使用`taggit`提供的模板标签:...

    在django中使用自定义标签实现分页功能

    ### 在Django中使用自定义标签实现分页功能 #### 概述 本文将详细介绍如何在Django项目中通过自定义模板标签的方式来实现一个高级、动态的分页功能。分页是在任何涉及到大量数据展示的应用中都不可或缺的一个功能。...

    Django Xadmin使用手册(文字_目录_高清)(官方教程)

    在安装和配置方面,Django Xadmin使用pip进行安装,如果从源代码安装,则需要下载最新的源码压缩包或者使用git克隆仓库,然后在项目目录中运行pip install -r requirements.txt进行安装。安装过程中可以编辑...

    Python库 | django-mdeditor-widget-1.0.0.tar.gz

    `django-mdeditor-widget`很可能是一个Django应用,它提供了一个界面元素,让开发者可以方便地在Django管理界面或者视图中集成Markdown编辑功能。Markdown是一种轻量级的标记语言,使得用户可以使用简单的语法来创建...

    Python.Web.Development.with.Django_python_djangoweb_django_

    1. **定义数据模型**:在`models.py`中,通过继承`django.db.models.Model`类,定义数据库表的字段和行为。 2. **数据迁移**:Django的`makemigrations`和`migrate`命令用于创建和应用数据库结构的变化。 3. **...

    django-period-widget:django 时期小部件

    安装pip install -e git+/path/to/github/django-period-widget#egg=django_period_widget 将django_period_widget添加到INSTALLED_APPS 运行python manage.py collectstatic用法创建表格: from django.contrib....

    在django admin中添加自定义视图的例子

    然而,有时我们需要在Django Admin中添加自定义视图,以实现更复杂的功能或提供定制化的界面。本文将详细介绍如何在Django Admin中添加自定义视图。 首先,你需要在`admin.py`文件中创建一个新的类,该类继承自`...

    django-flatpage-widget:允许指定自定义窗口小部件以使用设置来编辑平面

    可以与[django-rte-widgets] [1]中的小部件一起使用。 安装应用程序并提供如下设置: FLATPAGE_WIDGET = ('rte_widgets.yui.YuiTextarea', {'config': {'height': '400px', 'width': '700px', 'format': 'xhtml'...

    VueDjango_REST_framework生鲜电商项目_VfyQLyB1

    - **Apiview**:是DRF中最基础的视图类,直接继承自Django的View,可以用来创建自定义的API。 - **GenericView**:是Apiview的扩展,提供了对CRUD操作的通用处理。 - **ViewSet**:进一步抽象了GenericView,提供了...

Global site tag (gtag.js) - Google Analytics