===== Admin ===== Enable the admin site ===================== In nanodjango the admin site will only be enabled if you decorate one or more models with ``@app.admin``, or provide an ``ADMIN_URL`` in your settings:: app = Django(ADMIN_URL="admin/") Note that ``nanodjango convert`` builds on top of the standard ``django-admin startproject`` template, so the admin site will always be enabled after conversion, using ``"admin/"`` if no models are decorated or if ``ADMIN_URL`` was not set. Register a model ================ There is a helpful decorator to register a model with the admin site:: @app.admin class CountLog(models.Model): timestamp = models.DateTimeField(auto_now_add=True) You can pass ``ModelAdmin`` attributes as arguments to the decorator:: @app.admin(list_display=["id", "timestamp"], readonly_fields=["timestamp"]) class CountLog(models.Model): timestamp = models.DateTimeField(auto_now_add=True) Custom ModelAdmin ================= There is nothing special about the admin site in nanodjango - if your custom ``ModelAdmin`` is too complex to define using the decorator, you can register one using the standard Django approach:: from django.contrib import admin class CountLogAdmin(admin.ModelAdmin): list_display = ["id", "timestamp"] readonly_fields = ["timestamp"] admin.site.register(CountLog, CountLogAdmin)