Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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
如何隐藏或禁用';slug';django管理中的字段?_Django_Python 2.7_Django Models_Django Admin - Fatal编程技术网

如何隐藏或禁用';slug';django管理中的字段?

如何隐藏或禁用';slug';django管理中的字段?,django,python-2.7,django-models,django-admin,Django,Python 2.7,Django Models,Django Admin,我想禁用(首选)或隐藏django管理页面中的“slug”字段。我从django源代码“”中发现了错误,但实际上并没有解决问题 我正在使用django 1.5.5 基本情况示例: models.py 管理员 例外 这可能是一个非常简单的问题,但我找不到有效的解决方案。也许有人知道解决这个问题的好办法 谢谢。未测试,但应接近: class PostAdmin(admin.ModelAdmin): ... def __init__(self, *args, **kwargs):

我想禁用(首选)或隐藏django管理页面中的“slug”字段。我从django源代码“”中发现了错误,但实际上并没有解决问题

我正在使用django 1.5.5

基本情况示例: models.py 管理员 例外 这可能是一个非常简单的问题,但我找不到有效的解决方案。也许有人知道解决这个问题的好办法


谢谢。

未测试,但应接近:

class PostAdmin(admin.ModelAdmin):
    ...


    def __init__(self, *args, **kwargs):
        super(PostAdmin, self).__init__(*args, **kwargs)

        if not self.instance:
            self.prepopulated_fields = {'slug': ('title',)}


    def get_readonly_fields(self, request, obj=None):
        fields = []
        if obj:
            fields += ['slug']

        return fields

如果你正在编辑,你想让它成为只读的吗?是的,我想在django admin中编辑文章时关闭slug字段。
from django.contrib import admin
from blog.models import Post

class PostAdmin(admin.ModelAdmin):
    prepopulated_fields = {'slug': ('title',)}
    readonly_fields = ('slug',)
...
KeyError at /admin/blog/post/2/
u"Key 'slug' not found in Form"

  Request Method:   GET
  Request URL:      http://127.0.0.1:8000/admin/blog/post/2/
  Django Version:   1.5.5
  Exception Type:   KeyError
  Exception Value:  u"Key 'slug' not found in Form"
  Exception Location:   /home/XXXXXX/django_projects/virtualenvs/myenv27/local/lib/python2.7/site-packages/django/forms/forms.py in __getitem__, line 111
  Python Executable:    /home/XXXXXX/django_projects/virtualenvs/myenv27/bin/python
  Python Version:   2.7.3
class PostAdmin(admin.ModelAdmin):
    ...


    def __init__(self, *args, **kwargs):
        super(PostAdmin, self).__init__(*args, **kwargs)

        if not self.instance:
            self.prepopulated_fields = {'slug': ('title',)}


    def get_readonly_fields(self, request, obj=None):
        fields = []
        if obj:
            fields += ['slug']

        return fields