2011-01-01 17 views
6

Sadece ilk uygulamamı yazdığım Django'yla başlıyorum - ailem için bir çizelge yöneticisi. Öğreticide, tablo biçiminde add related objects'un nasıl yapıldığını gösterir. İlgili nesneleri umursamıyorum, sadece normal nesneyi tablo biçiminde eklemek istiyorum. Bu benim admin.pyEkleme modelini Django yöneticisinde tablo biçiminde nasıl görüntülerim?

from chores.models import Chore 
from django.contrib import admin 

class ChoreAdmin(admin.ModelAdmin): 
    fieldsets = [ 
     (None,    {'fields': ['description', 'frequency', 'person']}) 
    ] 

admin.site.register(Chore, ChoreAdmin) 

ne var olduğunu ve bu oldukça görmekten daha tıklayın "angarya add" zaman istediğim:

Description: _____ 
Frequency: ______ 
Person: _____ 

Ben göstermek istiyorum:

Description: __________ | Frequency: _______ | Person: _____ 

Bu önemsiz mi, yoksa çok fazla özel çaba gerektiriyor mu? Ve eğer kolaysa, nasıl yaparım?

Teşekkürler!

cevap

6

OP muhtemelen tüm kümesidir ancak yeni kullanıcılar bu okuma, başvurmak için: https://docs.djangoproject.com/en/dev/ref/contrib/admin/ yukarıdaki bağlantıda parçası aşağıdaki Temelde

:


field_options sözlüğü aşağıdaki anahtarları sahip olabilir:

fields

: alan adlarının Bir demet bu fieldset görüntülenecek. Bu anahtar gereklidir.

Örnek:

{ 
'fields': ('first_name', 'last_name', 'address', 'city', 'state'), 
} 
Sadece fields seçeneğiyle gibi

, aynı satırda birden çok alan görüntülemek kendi demet içinde bu alanları sarmak için.Bu örnekte, first_name ve last_name alanlar aynı satırda görüntüler: * * güzel, bunun için 1 ama oluşturma/eklemek sayfa olduğunu göstermek istediğiniz, düzenlenmesini sağlar

{ 
'fields': (('first_name', 'last_name'), 'address', 'city', 'state'), 
} 
0

Bildiğim kadarıyla, bunun için varsayılan bir ModelAdmin seçeneği yoktur, ancak yönetici sitesinin CSS'sini değiştirebilir veya modele göre change_form.html düzenini değiştirebilirsiniz.

Sen (a Media sınıfla ModelAdmin sınıflara göre başına modeli bazında) özel CSS kullanmak ve bunu değiştirmek (muhtemelen body.change-form CSS sınıfına yararlanarak) ve fieldsets emin olmak için yönetici sitesini değiştirebilir

yan yana.

Şablon dizininizin içinde /admin/chores/chore/change_form.html adıyla bir şablon da oluşturabilirsiniz. Maalesef, gerçek form öğelerini oluşturan bölüm ayrı bir blokta değildir, bu nedenle 'content' bloğunu özel içeriğinizle geçersiz kılmanız ve django/contrib/admin/templates/admin/change_form.html dosyasının tamamını kopyalamanız gerekir.

Daha fazla bilgi için lütfen relevent documentation'a bakın.

2

denemek için bir şey (Ben doğru dokümanlar okudum varsa) bir tablo şeklinde tüm girişleri düzenlemek için imkan vermelidir

class ChoreAdmin(admin.ModelAdmin): 
list_display = ('description', 'frequency', 'person') 
list_editable = ('description', 'frequency', 'person') 

...

+2

yol. –

İlgili konular