ইন mysite/admin.py, এর একটি উপ-শ্রেণি তৈরি করুন AdminSite:
from django.contrib.admin import AdminSite
class CustomAdminSite(AdminSite):
# set values for `site_header`, `site_title`, `index_title` etc.
site_header = 'Custom Admin Site'
...
# extend / override admin views, such as `index()`
def index(self, request, extra_context=None):
extra_context = extra_context or {}
# do whatever you want to do and save the values in `extra_context`
extra_context['world'] = 'Earth'
return super(CustomAdminSite, self).index(request, extra_context)
custom_admin_site = CustomAdminSite()
আপনার কাস্টমাইজড অ্যাডমিন সাইটে (যদি আপনি চান) তা প্রদর্শন করতে আপনার অ্যাপ্লিকেশনগুলির custom_admin_siteমধ্যে আমদানি করার বিষয়টি নিশ্চিত করুন admin.pyএবং এতে আপনার মডেলগুলি নিবন্ধ করুন।
ইন mysite/apps.py, এর একটি উপ-বর্গ তৈরি AdminConfigএবং সেট default_siteকরার admin.CustomAdminSiteপূর্ববর্তী ধাপে থেকে:
from django.contrib.admin.apps import AdminConfig
class CustomAdminConfig(AdminConfig):
default_site = 'admin.CustomAdminSite'
ইন mysite/settings.py, django.admin.siteএর INSTALLED_APPSসাথে প্রতিস্থাপন করুন apps.CustomAdminConfig(পূর্ববর্তী পদক্ষেপ থেকে আপনার কাস্টম অ্যাডমিন অ্যাপ্লিকেশন কনফিগারেশন)।
ইন mysite/urls.py, admin.site.urlsঅ্যাডমিন URL থেকে প্রতিস্থাপন করুনcustom_admin_site.urls
from .admin import custom_admin_site
urlpatterns = [
...
path('admin/', custom_admin_site.urls),
# for Django 1.x versions: url(r'^admin/', include(custom_admin_site.urls)),
...
]
আপনি আপনার পরিবর্তন করতে চান টেমপ্লেট তৈরি করুন templatesডিরেক্টরির, উল্লেখিত ডিফল্ট জ্যাঙ্গো অ্যাডমিন টেমপ্লেট ডিরেক্টরি গঠন বজায় রাখার ডক্স । উদাহরণস্বরূপ, আপনি যদি সংশোধন admin/index.htmlকরছিলেন তবে ফাইলটি তৈরি করুন templates/admin/index.html।
বিদ্যমান সমস্ত টেমপ্লেটগুলি এইভাবে সংশোধন করা যেতে পারে এবং তাদের নাম এবং কাঠামো জ্যাঙ্গোর উত্স কোডে পাওয়া যাবে ।
এখন আপনি হয় স্ক্র্যাচ থেকে লিখে টেমপ্লেটটিকে ওভাররাইড করতে পারেন বা এটি প্রসারিত করতে পারেন এবং তারপরে নির্দিষ্ট ব্লকগুলিকে ওভাররাইড / প্রসারিত করতে পারেন।
উদাহরণস্বরূপ, আপনি যদি সমস্ত কিছু যেমন রয়েছে তেমন রাখতে চান তবে contentব্লকটিকে ওভাররাইড করতে চান (যা সূচী পৃষ্ঠায় আপনি যে অ্যাপ্লিকেশনগুলি এবং তাদের মডেলগুলি তালিকাভুক্ত করেছেন যেগুলি তালিকাভুক্ত করে) তালিকাভুক্ত করুন templates/admin/index.html:
{% extends 'admin/index.html' %}
{% block content %}
<h1>
Hello, {{ world }}!
</h1>
{% endblock %}
একটি ব্লকের মূল বিষয়বস্তু সংরক্ষণ করার জন্য, {{ block.super }}আপনি যেখানেই মূল বিষয়বস্তু প্রদর্শিত হতে চান সেখানে যুক্ত করুন :
{% extends 'admin/index.html' %}
{% block content %}
<h1>
Hello, {{ world }}!
</h1>
{{ block.super }}
{% endblock %}
এছাড়াও extrastyleএবং extraheadব্লকগুলি সংশোধন করে আপনি কাস্টম শৈলী এবং স্ক্রিপ্টগুলি যুক্ত করতে পারেন ।