2 Stimmen

Seit Django 1.2.1 werden 'prepopulated_fields' im Adminbereich nicht mehr vorausgefüllt

Seit Django 1.2.1 werden 'prepopulated_fields' im Admin nicht mehr vorausgefüllt.

prepopulated_fields = {'slug': ('title',)} scheint nicht zu funktionieren, seit ich auf einen Django 1.2.1 Server hochgeladen habe, nachdem ich auf einem 1.1.1 entwickelt habe.

Was hat sich geändert?

Ich lese http://code.djangoproject.com/wiki/NewformsAdminBranch#Changedprepopulate_fromtobedefinedintheAdminclassnotdatabasefieldclasses aber ich habe keinen Weg gefunden, es zu beheben, mein Code scheint gut zu sein.

Ideen? Code:

class Data(models.Model):
    title = models.CharField(max_length=50)
    slug = models.SlugField(max_length=50, unique=True, help_text='Unique value for product page URL, created from name.')

class DataAdmin(admin.ModelAdmin):
    list_display = ('title', 'user', 'category')
    list_filter = ('user', 'category')
    ordering = ('title',)
    search_fields = ('title',)
    prepopulated_fields = {'slug': ('title',)}  
admin.site.register(Data, DataAdmin)

3voto

Korcia Punkte 146

Es passierte mir genau beim Upgrade von django 1.1.1 auf 1.2.1. Es liegt daran, dass das media/admin Verzeichnis sich geändert hat, vorher war es so: media/admin/js/admin und jetzt ist es: admin/media/js/admin. Was ich getan habe, war, in den Einstellungen ADMIN_MEDIA_PREFIX = '/media/admin/' zu ändern.

Um sicher zu sein, wenn Sie in Ihrem Admin-Seite, die eine, die nicht prepopulate sind, führen Sie Firebug und überprüfen Sie, von wo diese Seite versucht, die js-Dateien zu holen. Sie werden sehen, dass es eine Diskrepanz zwischen diesem Ort und dem tatsächlichen Ort dieser js-Dateien in Django 1.2.1.

0voto

Bartek Punkte 14563

Haben Sie die aktuelle Dokumentation für vorformulierte_Felder ?

Es wäre hilfreich, wenn Sie Ihren Code zeigen, aber Sie platzieren ihn einfach unter Ihrer Admin-Klasse, es ist eine ziemlich einfache Einrichtung.

0voto

Gabriel Hurley Punkte 38778

Ich kann mit Gewissheit sagen, dass prepopulated_fields funktioniert immer noch wie in den Unterlagen angegeben. Ihr Code sieht gut aus, aber hier sind einige mögliche Probleme, die ich mir vorstellen kann:

  1. Javascript ist deaktiviert und/oder die Links zu Ihren Verwaltungsmedien sind defekt.
  2. Sie haben irgendwo einen Tippfehler in den Namen Ihrer Felder.
  3. Sie haben etwas in Ihrem Browser zwischengespeichert, das verhindert, dass das Javascript richtig funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X