Die Anpassung des Django-Admin-Panels ist ein wesentlicher Schritt, um seine Leistungsfähigkeit voll auszuschöpfen. Es gibt viele verschiedenen Aspekte, die Sie anpassen können, um es an Ihre spezifischen Bedürfnisse anzupassen (Quelle: Django Project Documentation).
Zuerst müssen Sie sicherstellen, dass ‘django.contrib.admin’ in Ihrer ‘INSTALLED_APPS’ Einstellung vorhanden ist. Django wird automatisch eine Admin-UI für jede in Ihrer ‘INSTALLED_APPS’ definierte Django-App erstellen.
Von hier aus können Sie verschiedene Anpassungen in admin.py Ihrer App vornehmen. Beispielsweise können Sie die in der Admin-Oberfläche angezeigten Felder ändern:
```python
from django.contrib import admin
from myapp.models import MyModel
class MyModelAdmin(admin.ModelAdmin): list_display = (‘field1’, ‘field2’,)
admin.site.register(MyModel, MyModelAdmin)
```
In diesem Beispiel werden nur die Felder “field1” und “field2” in der Admin-Oberfläche für “MyModel” angezeigt (Quelle: Django Project Documentation).
Sie können auch die Formulare ändern, die in der Admin-Oberfläche verwendet werden. Angenommen, Sie möchten das Standardformular durch ein benutzerdefiniertes Formular ersetzen:
```python
from django import forms
from django.contrib import admin
from myapp.models import MyModel
class MyModelForm(forms.ModelForm): class Meta: model = MyModel fields = [‘field1’, ‘field2’]
class MyModelAdmin(admin.ModelAdmin): form = MyModelForm
admin.site.register(MyModel, MyModelAdmin)
```
In diesem Beispiel verwenden wir ein benutzerdefiniertes ModelForm für “MyModel” in der Admin-Oberfläche (Quelle: Django Project Documentation).
Die Admin-Seite kann auch angepasst werden, indem neue URLs hinzugefügt oder bestehende geändert werden. Angenommen, Sie möchten eine neue Seite “myview” in der Admin-Oberfläche hinzufügen:
```python
from django.contrib import admin
from django.urls import path
from myapp.views import my_view
class MyModelAdmin(admin.ModelAdmin): change_list_template = “admin/myapp/mymodel/change_list.html”
def get_urls(self): urls = super().get_urls() my_urls = [ path(‘myview/’, self.admin_site.admin_view(my_view)) ] return my_urls + urlsadmin.site.register(MyModel, MyModelAdmin)
```
In diesem Beispiel fügen wir eine neue URL “/myview/” zur Admin-Oberfläche hinzu, die zu unserer Funktion “my_view” führt (Quelle: Django Project Documentation).
Es gibt viele weitere Möglichkeiten, um das Django-Admin-Panel anzupassen. Alles hängt von Ihren spezifischen Bedürfnissen und Vorstellungen ab.