Django – Admin – Come ignorare change_list modello per Modello Proxy?

Ho fatto una semplice app Django. Ho un modello di “Visitatore”. Il mio obiettivo è di avere due tabelle vengono visualizzati nella Django admin. Uno con tutti i visitatori e una con solo quelli di oggi.

Ho ottenuto tutto ciò che funziona con il codice riportato di seguito riportato di seguito queste istruzioni. Ma io non sono sicuro di come sostituire solo l’change_list.html solo per VisitorExpectedTodayProxy.

Ho provato a seguire la istruzioni qui e ho creato Site/templates/admin/VisitorLog/VisitorExpectedTodayProxy/change_list.html e fatto le mie modifiche, ma non mi sembra di essere a raccoglierlo.

Models.py

class Visitor(models.Model):
    visit_datetime = models.DateTimeField(null=True)
    visitor_name = models.CharField(max_length=500)

#Make dummy models for different object views in admin interface
class VisitorExpectedTodayProxy(Visitor):
    class Meta:
        proxy=True
        verbose_name = "Visitor"
        verbose_name_plural = "Today's Visitors and Regular Visitors"
InformationsquelleAutor Greg | 2011-03-30

 

2 Replies
  1. 3

    Provare scopo, minuscole che i nomi delle cartelle.

    Nota, che l’admin app
    minuscolo il nome del modello quando si cerca
    per la directory, in modo da assicurarsi che si
    il nome della directory in tutte le lettere minuscole se
    si sta per eseguire l’applicazione su un
    case-sensitive filesystem.

    Inoltre, avete andato attraverso la lista di controllo di fare in modo che i vostri modelli di directory di lavoro a tutti? TEMPLATE_DIRS deve contenere questa cartella templates del tuo, e assicurarsi che il filesystem modello loader viene prima il app_directories loader.

    Infine, è possibile scegliere un modello tramite un ModelAdmin attributo:
    http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.change_list_template

  2. 5

    Sulla cima di scopo, minuscole tuo percorsi a guardare come:

    templates/admin/visitorlog/visitorexpectedtodayproxy/change_list.html

    Il contenuto del tuo change_list.html dovrebbe estendere il default admin/change_list:

    {% extends "admin/change_list.html" %}

    È possibile personalizzare le diverse sezioni di questa pagina guardando i vari modelli di blocco in django codice sorgente:

    django/contrib/admin/templates/admin/change_list.html
    • Io ho semplicemente copiato change_list.html nella directory e modificato, non c’è. C’è un modo migliore?

Lascia un commento