标签: django-admin

在Django管理界面中删除"添加另一个"

每当我用对象B的外键编辑对象A时,对象B的选项旁边就会出现加号选项"添加另一个".如何删除该选项?

我配置了一个没有添加对象B权限的用户.加号仍然可用,但是当我点击它时,它会显示"权限被拒绝".它很丑.

我正在使用Django 1.0.2

python django django-admin

27
推荐指数
7
解决办法
2万
查看次数

如何根据用户限制django-admin中的字段?

我想这里会讨论类似的问题,但我找不到它.

假设我有一名编辑和一名主管.我希望编辑能够添加新内容(例如新闻帖子),但在发布之前必须由主管确认.

当编辑列出的所有项目,我想设置的模型某些字段(如一个"ACK"字段)为只读(这样他就可以知道已经ack'ed,什么是仍在等待批准),但管理员应该能够改变一切(list_editable将是完美的)

这个问题的可能解决方案是什么?

django django-admin

27
推荐指数
2
解决办法
7512
查看次数

如何强制保存"空"/未更改的django admin内联?

我在我的一个管理模型中有一些内联,它们具有默认值,当使用"添加另一个..."添加新实例时可能不需要更改.不幸的是,除非某些值发生变化,否则django不会将这些内联识别为新对象.这会强制我添加内联,更改任意值,保存,更改值并再次保存以达到所需效果.

到目前为止我唯一提出的解决方案是添加一个隐藏的"已更改"字段,它将在添加新内联时通过java脚本填充.因为这感觉非常hackish,我希望有一个更优雅的解决方案.

任何想法将不胜感激.

谢谢,丹尼尔.

django inline django-admin

27
推荐指数
3
解决办法
3143
查看次数

如何使用自定义AdminSite类?

哪个是实现我自己的最佳方式django.contrib.admin.sites.AdminSite

其实我得到一个问题登记INSTALLED_APPSdjango.contrib.admin.autodiscover.如果我使用自定义AdminSite类urls.py,则管理页面上不会显示任何应用程序.

我用一个小黑客修复了这个问题.我写了这堂课:

from django.contrib.admin.sites import site as default_site

class AdminSiteRegistryFix( object ):
    '''
    This fix links the '_registry' property to the orginal AdminSites
    '_registry' property. This is necessary, because of the character of
    the admins 'autodiscover' function. Otherwise the admin site will say,
    that you havn't permission to edit anything.
    '''

    def _registry_getter(self):
        return default_site._registry

    def _registry_setter(self,value):
        default_site._registry = value

    _registry = property(_registry_getter, _registry_setter)
Run Code Online (Sandbox Code Playgroud)

并实现我的自定义AdminSite,如下所示:

from wltrweb.hacks.django.admin import AdminSiteRegistryFix
from django.contrib.admin …
Run Code Online (Sandbox Code Playgroud)

python django django-admin

27
推荐指数
4
解决办法
2万
查看次数

Django Admin链接到相关对象

我的应用有用户创建页面.在管理员的页面屏幕中,我想列出创建该页面的用户,并且在该列表中,我希望用户名具有一个链接到admin(而不是Page)中的用户页面.

class PageAdmin(admin.ModelAdmin):
    list_display = ('name', 'user', )
    list_display_links = ('name','user',)
admin.site.register(Page, PageAdmin)
Run Code Online (Sandbox Code Playgroud)

我希望通过使它成为list_display中的链接,它将默认链接到实际的用户对象,但它仍然转到Page.

我确定我在这里错过了一些简单的东西.

django django-admin

27
推荐指数
6
解决办法
1万
查看次数

如何将一个对象的Django管理页面中的链接添加到相关对象的管理页面?

为了解决django-admin中缺少嵌套内联的问题,我将特殊情况放入两个模板中,以便在管理员更改页面和两个模型的内联管理员之间创建链接.

我的问题是:如何创建一个链接,从管理员更改页面或内联管理员的一个模型到管理员更改页面或相关模型的内联管理员干净利落,模板中没有讨厌的黑客?

我想要一个通用的解决方案,我可以应用于任何模型的管理员更改页面或内联管理员.


我有一个模型,post(不是它的真实姓名)既是blog管理页面上的内联,也有自己的管理页面.它不能仅仅是内联的原因是它具有带有外键的模型,只有在用它编辑时才有意义,并且只有在编辑时才有意义blog.

对于post管理页面,我更改了"fieldset.html"的一部分:

{% if field.is_readonly %}
    <p>{{ field.contents }}</p>
{% else %}
    {{ field.field }}
{% endif %}
Run Code Online (Sandbox Code Playgroud)

{% if field.is_readonly %}
    <p>{{ field.contents }}</p>
{% else %}
    {% ifequal field.field.name "blog" %}
        <p>{{ field.field.form.instance.blog_link|safe }}</p>
    {% else %}
        {{ field.field }}
    {% endifequal %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)

创建指向blog管理页面的链接,其中blog_link是模型上的方法:

def blog_link(self):
      return '<a href="%s">%s</a>' % (reverse("admin:myblog_blog_change",  
                                        args=(self.blog.id,)), escape(self.blog))
Run Code Online (Sandbox Code Playgroud)

我找不到id了的blog …

python django django-templates django-models django-admin

27
推荐指数
4
解决办法
3万
查看次数

Django - 如何从模型实例获取管理员URL

我正在尝试在保存新模型实例时向用户发送电子邮件,并且我希望该电子邮件包含指向该模型实例的管理页面的链接.有没有办法获得正确的URL?我认为Django必须将信息存储在某个地方.

python django django-models django-admin

27
推荐指数
5
解决办法
1万
查看次数

django - 在自动创建用户时设置用户权限

Django 1.5,python 2.6

该模型在特定条件下自动创建用户:

User.objects.get_or_create(username=new_user_name, is_staff=True) 
u = User.objects.get(username=new_user_name)
u.set_password('temporary')
Run Code Online (Sandbox Code Playgroud)

除了设置用户名,密码和is_staff状态之外,我还想设置用户的权限 - 类似于:

u.user_permissions('Can view poll')
Run Code Online (Sandbox Code Playgroud)

要么

u.set_permissions('Can change poll')
Run Code Online (Sandbox Code Playgroud)

这可能吗?谢谢!

python django django-admin django-authentication

27
推荐指数
2
解决办法
3万
查看次数

删除Django admin中的默认删除操作

如何删除Django管理员中的默认删除操作?以下工作会怎样?

actions = [ ] 
Run Code Online (Sandbox Code Playgroud)

python django django-admin

27
推荐指数
4
解决办法
1万
查看次数

Django管理员的记录活动 - Django

我需要跟踪/记录Django管理员的活动.

我知道管理员在某处存储了消息,但我不知道如何访问它们以便将它们用作简单的日志.


我正在尝试跟踪以下内容:

  • 用户执行操作

  • 已采取行动

  • 行动日期

多谢你们.

python django logging django-admin

26
推荐指数
3
解决办法
2万
查看次数