- 反向解析
- 主路由
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的名称,系统无法自己识别
- ` 'Specifying a namespace in include() without providing an 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开发方式,效率不高
- Django项目开发中,使用MTV式开发,推荐使用block+extends
在模板页使用: {% block index %} 模板内容 {% endblock %}或{% endblock index %} 在子模板中,继承该模板页: {% extends "index.html" %} 在子模板中,重写改模板中某一位置内容: {% block index %} …… {% endblock %}或{% endblock index %} 在子模板中,使用原有模板内容,添加另外内容: {{ block.super }}