Programing

장고 : 고정 태그를 블록 태그에 넣는 것이 불가능합니까?

lottogame 2020. 12. 29. 06:41
반응형

장고 : 고정 태그를 블록 태그에 넣는 것이 불가능합니까?


아래 코드는 오류를 만듭니다.이 문제를 어떻게 해결할 수 있습니까 ??

미리 감사드립니다 :)

{% block header %}
    <link rel="stylesheet" href="{% static 'shop/style.css' %}" />
{% endblock %}

오류 출력 :

  • TemplateSyntaxError : 잘못된 블록 태그 : '정적', 예상되는 'endblock'

아니요, 불가능하지 않습니다. {% load staticfiles%}일부 .NET Framework에서 상속하는 대신 동일한 html 파일에 포함 해보십시오 base.html.


1.) settings.py에서 TUPLE 추가 :

STATIFILES_DIR = (os.path.join (BASE_DIR, 'assets'),)

2.) urls.py에서 다음을 추가하십시오.

 from django.contrib.staticfiles.urls import staticfiles.urlpatterns
 urlpatterns += staticfile_urlpatterns()

3.) "link rel = 'stylesheet'.."를 넣는 html 파일에서 맨 위에 추가하십시오.

{% load static from staticfiles %}

 and then use :

 <link rel="stylesheet" href="{% static 'assets/css' %}"

내 솔루션은 정적 참조 가있는 include다른 페이지 {% load static %}및 스크립트입니다. {% block xxx %}첫 번째 {% yyy %}{% include %}and {% endblock %}(내가 관찰 한 유일한 경우)가 아닐 것으로 예상합니다 . 그래서 우리가 "{% static 'xxx.js' %}"그것을 사용할 때 깨지고 불평합니다. 그러나 다른 페이지를 포함하면 Django는 침착하게됩니다.

예를 들어 .NET에 포함되지 않은 일부 정적 js 파일을 homepage확장 base.html하고 포함 하는 페이지 있습니다 base.html.

base.html

{% block page %}

{% endblock %}
{% block script %}

{% endblock %}

homepage.html:

{% extends 'base.html' %}
{% block page %}
...
{% endblock %}
{% block script %}
    {% include 'home_js.html'%}  <!-- don't use static links here because Django does not like it. -->
{% endblock %}

home_js.html:

{% load static %}
<script src="{% static 'scripts/jquery.js' %}" ></script>
<script>
    function ...
</script>

이제 스크립트가로드됩니다.

따라서 블록에서 {% %}이외의 태그를 사용할 수 없습니다 .{% block xxx %}{% endblock %}

Django 5.1을 사용하고 있습니다.

편집하다:

{% verbatim %}그런 상황에서 나는 태그가 우리의 구세주임을 발견했습니다 .


그냥 추가 {% load static %}템플릿의 상단에 {% extends 'app/base.html' %} .


예. 장고는 그것을 허용하지 않을 것입니다.

You can just use the appropriate path like:

<link rel="stylesheet" href="/static/shop/style.css" />

But be aware: If you change your app's STATIC_URL, the href above must also be updated accordingly.

From Configuring static files:

In your templates, either hardcode the url like /static/my_app/example.jpg or, preferably, use the static template tag...

ReferenceURL : https://stackoverflow.com/questions/22650371/django-is-it-impossible-to-static-tag-into-block-tag

반응형