[PYTHON] Anpassung des Django-Verwaltungsbildschirms Erster Schritt

Passen Sie den Verwaltungsbildschirm von Django an. Der Standard-Django-Administrationsbildschirm sieht nicht besonders cool aus, aber Sie können das Design nach Ihren Wünschen anpassen. Als ersten Schritt dazu ** Mit welcher Datei soll ich mich anlegen? ** Organisieren.

Django Installation und Projekterstellung

Ich bin sicher, dass nur wenige Leute, die diesen Artikel lesen, Django installiert haben. Wenn ja, lesen Sie bitte diesen Artikel.

Überprüfen Sie den Speicherort der Administratoranwendungsvorlage

Dies hängt davon ab, wie Sie die Umgebung erstellen. Den Installationsort in der Bibliothek finden Sie jedoch in der Python-Ausführungsumgebung. Es sollte ein Verzeichnis namens "django.contrib.admin.templates" geben. Darin wird die Vorlage der Admin-Anwendung gespeichert. ** * Ändern Sie diese Datei nicht direkt. ** </ font>

Kopie des Vorlagenverzeichnisses

Kopieren Sie das Verzeichnis django.contrib.admin.templates von früher in Ihr eigenes Projekt.

$ cp django/contrib/admin/templates -r path/to/project/

Überprüfen Sie die Vorlageneinstellungen

Django sucht in dem in INSTALLED_APPS aufgeführten Anwendungsverzeichnis nach der Vorlagendatei, die zum Rendern verwendet werden soll. Sie können jedoch auch ein Verzeichnis angeben, nach dem gesucht werden soll, und zwar gegenüber dem Verzeichnis jeder Anwendung. Standardmäßig ist nichts festgelegt, daher wird empfohlen, Folgendes festzulegen.

settings.py



TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')], # <--Hier können Sie das Verzeichnis angeben, nach dem bevorzugt gesucht werden soll!!
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
            'builtins': [
                'bootstrap4.templatetags.bootstrap4',
            ]
        },
    },
]

Lassen Sie uns als Test mit der Vorlage spielen

Es gibt eine Vorlagendatei namens "templates / admin / login.html". Lassen Sie uns ein wenig damit herumspielen und es anpassen.

templates/admin/login.html


{% extends "admin/base_site.html" %}
{% load i18n static %}

{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/login.css" %}">
{{ form.media }}
{% endblock %}

{% block bodyclass %}{{ block.super }} login{% endblock %}

{% block usertools %}{% endblock %}

{% block nav-global %}{% endblock %}

{% block content_title %}{% endblock %}

{% block breadcrumbs %}{% endblock %}

{% block content %}
{% if form.errors and not form.non_field_errors %}
<p class="errornote">
{% if form.errors.items|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %}
</p>
{% endif %}

{% if form.non_field_errors %}
{% for error in form.non_field_errors %}
<p class="errornote">
    {{ error }}
</p>
{% endfor %}
{% endif %}

<div id="content-main">

{% if user.is_authenticated %}
<p class="errornote">
{% blocktrans trimmed %}
    You are authenticated as {{ username }}, but are not authorized to
    access this page. Would you like to login to a different account?
{% endblocktrans %}
</p>
{% endif %}

<form action="{{ app_path }}" method="post" id="login-form">{% csrf_token %}
  <h1>TEST</h1> <<<--* Versuchen Sie, es in diesen Bereich zu schieben.
  <div class="form-row">
    {{ form.username.errors }}
    {{ form.username.label_tag }} {{ form.username }}
  </div>
  <div class="form-row">
    {{ form.password.errors }}
    {{ form.password.label_tag }} {{ form.password }}
    <input type="hidden" name="next" value="{{ next }}">
  </div>
  {% url 'admin_password_reset' as password_reset_url %}
  {% if password_reset_url %}
  <div class="password-reset-link">
    <a href="{{ password_reset_url }}">{% trans 'Forgotten your password or username?' %}</a>
  </div>
  {% endif %}
  <div class="submit-row">
    <label>&nbsp;</label><input type="submit" value="{% trans 'Log in' %}">
  </div>
</form>

</div>
{% endblock %}

Ausführen und überprüfen

Starten wir den Entwicklungsserver und greifen auf http: // localhost: 8000 / admin / zu.

$ python manage.py runserver

Wenn es wie folgt angezeigt wird, ist es erfolgreich.

image.png

Recommended Posts

Anpassung des Django-Verwaltungsbildschirms Erster Schritt
Django-Verwaltungsbildschirm list_filter-Anpassung
Django Management Screen Reverse Memo
Erste Django Challenge
Erste Django-Entwicklung
Entwicklung einer WEB-Anwendung mit Django [Erstellung des Admin-Bildschirms]
Django2-Bildschirmadditionsfluss
Wenn Sie den Benutzernamen und das Passwort des Verwaltungsbildschirms in Django vergessen haben
Django Model Field Customization Verschiedene
Optimieren der Django-Administrationsseite
Erstellen Sie einen Django-Anmeldebildschirm
Stärkung des Lernens 4 CartPole erster Schritt
Die Geschichte, dass "calendar.day_abbr" auf dem Admin-Bildschirm von django nicht aktualisiert werden konnte