Джанго админ, функция сохранения и формы - PullRequest
0 голосов
/ 07 августа 2009

Я не знаю, как плохо спрашивать это, я новичок в Django, но я попробую.

У меня есть форма в приватном пользовательском разделе, хорошо, эта форма сохраняет имя зарегистрированного пользователя, зашифрованные данные из другой функции и еще несколько полей.

Теперь моя проблема в том, что в Админе мне тоже нужно использовать «эту форму», но я не знаю, как визуализировать форму другим способом, например, в разделе для частного пользователя я не отображаю поле «x» но в Админе поле "х" показывает.

Я не знаю, понятно ли мне, если мой плохой английский позвольте мне объяснить

но я хочу знать, как в какой-то части моего веб-сайта (частной или общедоступной) плохо отображается форма, а в разделе администратора - одна и та же форма по-разному ...

и таким же образом, ребята, (извините за мой вопрос), я хочу знать, как использовать функцию SAVE (переопределение ??)

если у кого-то есть ссылка с примером:)

Спасибо:)

1 Ответ

3 голосов
/ 07 августа 2009

Вы можете внести изменения в способ отображения вещей в формах администратора, выполнив что-то похожее на: -

from myproject.myapp.models import Event
from django.contrib import admin

class EventAdmin(OccasionAdmin):
    fieldsets = [
        (None,                  {'fields':  ['title', 'description', 'venue']}),
        ('Date Information',    {'fields':  ['start', 'end']}),
        ('Options',             {'fields':  ['moderated', 'promoted']}),
        ('Users',               {'fields':  ['creator', 'owner']}),
    ]

admin.site.register(Event, EventAdmin)

Поскольку я не упоминаю поля, которые я не хочу отображать здесь (в основном, автоматически генерируемые слагы!), Они не отображаются.

Если вы не хотите, чтобы это поле редактировалось где-либо, то определите поле как недоступное для редактирования

slug = Models.SlugField(editable=False)

Но убедитесь, что вы автоматически его сгенерировали или задали как: -

slug = Models.SlugField(editable=False, blank=True)
...