Django反向解析報錯和模板繼承

  • 反向解析
    • 主路由
      • path('',include(('index.urls'),namespace='home')),
    • 子路由
      • url(r'^home/',views.home,name='index')
    • 此時,運行我們的django項目,提示以下錯誤信息:
      • ` 'Specifying a namespace in include() without providing an app_name ’
        django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or p
        ass a 2-tuple containing the list of patterns and app_name instead.
      • 這個的錯誤提示的意思大概是,我們需要提供app_name的名稱,系統無法自己識別
    • 作出如下修改:
      • 主路由:
        • path('',include(('index.urls','index'),namespace='home')),
      • 子路由:
        • app_name='index'
        • url(r'^home/',views.home,name='index')
    • 此時正常運行
  • 模板繼承
    • Django項目開發中,使用MTV式開發,推薦使用block+extends
      • 使用block+extends開發方式,效率更高
      • 使用include開發方式,效率不高
 在模板頁使用:
		{% block index %}
			模板內容
		{% endblock %}或{% endblock index %}
在子模板中,繼承該模板頁:
  		{% extends "index.html" %}  
  在子模板中,重寫改模板中某一位置內容:
  		{% block index %}
  				……
  		{% endblock %}或{% endblock index %}
  在子模板中,使用原有模板內容,添加另外內容:
  		{{ block.super }}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章