Django-管理站點重寫admin模板


 

參考鏈接:https://blog.csdn.net/u013378306/article/details/79023242

 

 

  

使用Django的admin管理工具,可以快速的構建自己的管理平台,使用Django原生太的模板更能使我們節省很多工作量。但有時候,模板上展現的內容並不能滿足我們的業務需求,我們需要些許調整就可以達到我們想要的效果,此時我們可以通過重寫admin模板來實現。

我們繼續使用前面兩篇文檔中所使用的項目,並在此基礎上來作調整。我們假設我們只允許添加Vm、查看Vm,不允許編輯Vm信息。因為添加、查看、編輯使用的是同一個模板文件,就必須重寫模板文件。

重寫模板

關鍵步驟
  1. 首先在我們的項目根目錄下建立一個子templates目錄 。

  2. 其次在templates目錄下建立一個admin子目錄。

  3. 然后在admin目錄下以我人的應用名建立一個子目錄(需要小寫),如我們的應用cloud 。

  4. 在應用目錄下以模型層的名字建立一個子目錄(需要小寫,model的名字必須要小寫,否則部署的時候會有問題,大坑),如在cloud目錄下創建vm目錄。

  5. 我們從django/contrib/admin/templates/admin目錄下拷貝change_form.html文件到我們新建立的vm目錄下。

  6.  項目目錄結構

  7. 修改setting.py文件中的配置項TEMPLATES, 將DIRS的值設置為[os.path.join(BASE_DIR, 'templates')]。TEMPLATES的整體信息如下:

  8. TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')],
            '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',
                ],
            },
        },
    ]
      1. 修改chang_form.html文件

      修改chang_form.html文件
    1. 去除{% block object-tools %}……{% endblock %}代碼塊,如圖示:

    2. 去除{% block submit_buttons_bottom %}{% submit_row %}{% endblock %}代碼,如圖所示:

    3.  

    4. 在{% block after_related_objects %}{% endblock %}代碼后面新增代碼{% if add %}{% block submit_buttons_bottom %}{% submit_row %}{% endblock %}{% endif %},如圖示:

       

    啟動項目,查看運行結果,新增信息時,有提交按鈕,編輯頁沒有提交按鈕。如圖所示:

    

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM