Django 3.1有条件加载静力学的最佳方法
我是django新手,目前正试图找到一种有效的方法,根据当前页面使用django模板语言加载css文件。url模式为:Django 3.1有条件加载静力学的最佳方法,django,django-templates,Django,Django Templates,我是django新手,目前正试图找到一种有效的方法,根据当前页面使用django模板语言加载css文件。url模式为: path('invoices/', views.list, name='invoice_list'), path('invoices/new/', views.create, name='create_invoice'), path('invoices/<int:pk>/', views.edit, name='edit_invoice'), path('invoi
path('invoices/', views.list, name='invoice_list'),
path('invoices/new/', views.create, name='create_invoice'),
path('invoices/<int:pk>/', views.edit, name='edit_invoice'),
path('invoices/<int:pk>/lines/new', views.create_line, name='create_line'),
path('invoices/<int:pk>/lines/<int:fk>', views.update_line, name='update_line'),
path('invoices/',views.list,name='invoices_list'),
路径('invoices/new/',views.create,name='create_invoices'),
路径('invoices/',views.edit,name='edit_invoices'),
路径('invoices//lines/new',views.create\u line,name='create\u line'),
路径('invoices//lines/',views.update\u line,name='update\u line'),
在base.html中,我正在执行以下操作:
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="{% static 'invoice/css/common.css' %}">
{% if request.path == '/invoices/'%}
<link rel="stylesheet" href="{% static 'invoice/css/invoice_list.css' %}">
{% endif %}
{% if '/invoices/' in request.path and request.path != '/invoices/' and '/line/' not in request.path %}
<link rel="stylesheet" href="{% static 'invoice/css/edit_invoice.css' %}">
{% endif %}
<title>My invoices </title>
</head>
{%if request.path='/invoices/'%}
{%endif%}
{%if'/invoices/'在request.path和request.path!='/invoices/'和'/line/'不在request.path%}
{%endif%}
我的发票
{%if'/invoices/'在request.path和request.path!='/invoices/'和'/line/'不在request.path%}
一点也不好,想知道是否有更好的方法来实现它,也许是regexp风格?
提前感谢。您不应该将此类逻辑放入模板中。为此,您应该使用and模板标记。见: 在
base.html
中:
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="{% static 'invoice/css/common.css' %}">
{% block extra_css %}
{% endblock extra_css %}
<title>My invoices </title>
</head>
类似地,在request.path和request.path!='/发票/'和'/line/'不在请求中。如果路径为真,则您将按以下方式填充该块:
{% extends "base.html" %}
...
{% block extra_css %}
<link rel="stylesheet" href="{% static 'invoice/css/invoice_list.css' %}">
{% endblock extra_css %}
{% extends "base.html" %}
...
{% block extra_css %}
<link rel="stylesheet" href="{% static 'invoice/css/edit_invoice.css' %}">
{% endblock extra_css %}
{%extends“base.html”%}
...
{%block-extra_-css%}
{%endblock额外_css%}