Jinja2.exceptions.TemplateSyntaxError: ожидаемый токен ',', получил 'static'

Я пишу проект с помощью flask (для python), и когда я запускаю проект из pycharm (который включает файлы html), он дает мне следующую ошибку:

Jinja2.exceptions.TemplateSyntaxError: ожидаемый токен ',', получил 'static'

ошибка касается строки 192 в home.html ...

jinja2.exceptions.TemplateSyntaxError: expected token ',', got 'static'

И ... это html-файл, из-за которого возникают проблемы :-(

<!DOCTYPE html>
<html lang = "en">

  <head>

    <meta charset = "utf-8">
    <meta name = "viewport" content = "width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name = "description" content = "">
    <meta name = "author" content = "">

    <title>Stylish Portfolio - Start Bootstrap Template</title>

    <!-- Bootstrap Core CSS -->
    <link href = "{{ url_for('static', filename='vendor/bootstrap/css/bootstrap.min.css') }}" rel = "stylesheet">

    <!-- Custom Fonts -->
    <link href = "{{ url_for('static', filename='vendor/font-awesome/css/font-awesome.min.css') }}" rel = "stylesheet" type = "text/css">
    <link href = "https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic" rel = "stylesheet" type = "text/css">
    <link href = "{{ url_for('static', filename='vendor/simple-line-icons/css/simple-line-icons.css') }}" rel = "stylesheet">

    <!-- Custom CSS -->
    <link href = "{{ url_for('static', filename='css/stylish-portfolio.min.css') }}" rel = "stylesheet">

  </head>

  <body id = "page-top">
    <!-- Navigation -->
    <a class = "menu-toggle rounded" href = "#">
      <i class = "fa fa-bars"></i>
    </a>
    <nav id = "sidebar-wrapper">
      <ul class = "sidebar-nav">
        <li class = "sidebar-brand">
          <a class = "js-scroll-trigger" href = "#page-top">Start Bootstrap</a>
        </li>
        <li class = "sidebar-nav-item">
          <a class = "js-scroll-trigger" href = "#page-top">Home</a>
        </li>
        <li class = "sidebar-nav-item">
          <a class = "js-scroll-trigger" href = "#about">About</a>
        </li>
        <li class = "sidebar-nav-item">
          <a class = "js-scroll-trigger" href = "#services">Services</a>
        </li>
        <li class = "sidebar-nav-item">
          <a class = "js-scroll-trigger" href = "#portfolio">Portfolio</a>
        </li>
        <li class = "sidebar-nav-item">
          <a class = "js-scroll-trigger" href = "#contact">Contact</a>
        </li>
      </ul>
    </nav>

    <!-- Header -->
    <header class = "masthead d-flex">
      <div class = "container text-center my-auto">
        <h1 class = "mb-1">Timely</h1>
        <h3 class = "mb-5">
          <em>A Free Time Management App</em>
        </h3>
        <a class = "btn btn-primary btn-xl js-scroll-trigger" href = "#about">Find Out More</a>
      </div>
      <div class = "overlay"></div>
    </header>

    <!-- About -->
    <section class = "content-section bg-light" id = "about">
      <div class = "container text-center">
        <div class = "row">
          <div class = "col-lg-10 mx-auto">
            <h2>Stylish Portfolio is the perfect theme for your next project!</h2>
            <p class = "lead mb-5">This theme features a flexible, UX friendly sidebar menu and stock photos from our friends at
              <a href = "https://unsplash.com/">Unsplash</a>!</p>
            <a class = "btn btn-dark btn-xl js-scroll-trigger" href = "#services">What We Offer</a>
          </div>
        </div>
      </div>
    </section>

    <!-- Services -->
    <section class = "content-section bg-primary text-white text-center" id = "services">
      <div class = "container">
        <div class = "content-section-heading">
          <h3 class = "text-secondary mb-0">Services</h3>
          <h2 class = "mb-5">What We Offer</h2>
        </div>
        <div class = "row">
          <div class = "col-lg-3 col-md-6 mb-5 mb-lg-0">
            <span class = "service-icon rounded-circle mx-auto mb-3">
              <i class = "icon-screen-smartphone"></i>
            </span>
            <h4>
              <strong>Responsive</strong>
            </h4>
            <p class = "text-faded mb-0">Looks great on any screen size!</p>
          </div>
          <div class = "col-lg-3 col-md-6 mb-5 mb-lg-0">
            <span class = "service-icon rounded-circle mx-auto mb-3">
              <i class = "icon-pencil"></i>
            </span>
            <h4>
              <strong>Redesigned</strong>
            </h4>
            <p class = "text-faded mb-0">Freshly redesigned for Bootstrap 4.</p>
          </div>
          <div class = "col-lg-3 col-md-6 mb-5 mb-md-0">
            <span class = "service-icon rounded-circle mx-auto mb-3">
              <i class = "icon-like"></i>
            </span>
            <h4>
              <strong>Favorited</strong>
            </h4>
            <p class = "text-faded mb-0">Millions of users
              <i class = "fa fa-heart"></i>
              Start Bootstrap!</p>
          </div>
          <div class = "col-lg-3 col-md-6">
            <span class = "service-icon rounded-circle mx-auto mb-3">
              <i class = "icon-mustache"></i>
            </span>
            <h4>
              <strong>Question</strong>
            </h4>
            <p class = "text-faded mb-0">I mustache you a question...</p>
          </div>
        </div>
      </div>
    </section>

    <!-- Callout -->
    <section class = "callout">
      <div class = "container text-center">
        <h2 class = "mx-auto mb-5">Welcome to
          <em>your</em>
          next website!</h2>
        <a class = "btn btn-primary btn-xl" href = "https://startbootstrap.com/template-overviews/stylish-portfolio/">Download Now!</a>
      </div>
    </section>

    <!-- Call to Action -->
    <section class = "content-section bg-primary text-white">
      <div class = "container text-center">
        <h2 class = "mb-4">The buttons below are impossible to resist...</h2>
        <a href = "#" class = "btn btn-xl btn-light mr-4">Click Me!</a>
        <a href = "#" class = "btn btn-xl btn-dark">Look at Me!</a>
      </div>
    </section>

    <!-- Map -->
    <section id = "contact" c0lass = "map">
      <iframe width = "100%" height = "100%" frameborder = "0" scrolling = "no" marginheight = "0" marginwidth = "0" src = "https://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Twitter,+Inc.,+Market+Street,+San+Francisco,+CA&amp;aq=0&amp;oq=twitter&amp;sll=28.659344,-81.187888&amp;sspn=0.128789,0.264187&amp;ie=UTF8&amp;hq=Twitter,+Inc.,+Market+Street,+San+Francisco,+CA&amp;t=m&amp;z=15&amp;iwloc=A&amp;output=embed"></iframe>
      <br/>
      <small>
        <a href = "https://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=Twitter,+Inc.,+Market+Street,+San+Francisco,+CA&amp;aq=0&amp;oq=twitter&amp;sll=28.659344,-81.187888&amp;sspn=0.128789,0.264187&amp;ie=UTF8&amp;hq=Twitter,+Inc.,+Market+Street,+San+Francisco,+CA&amp;t=m&amp;z=15&amp;iwloc=A"></a>
      </small>
    </section>
0
    <!-- Footer -->
   <footer class = "footer text-center">
      <div class = "container">
        <ul class = "list-inline mb-5">
          <li class = "list-inline-item">
            <a class = "social-link rounded-circle text-white mr-3" href = "#">
              <i class = "icon-social-facebook"></i>
            </a>
          </li>
          <li class = "list-inline-item">
            <a class = "social-link rounded-circle text-white mr-3" href = "#">
              <i class = "icon-social-twitter"></i>
            </a>
          </li>
          <li class = "list-inline-item">
            <a class = "social-link rounded-circle text-white" href = "#">
              <i class = "icon-social-github"></i>
            </a>
          </li>
        </ul>
        <p class = "text-muted small mb-0">Copyright &copy; Taeer Mayzels</p>
      </div>
    </footer>

    <!-- Scroll to Top Button-->
    <a class = "scroll-to-top rounded js-scroll-trigger" href = "#page-top">
      <i class = "fa fa-angle-up"></i>
    </a>

    <!-- Bootstrap core JavaScript -->
    <script src = "{{ url_for('static', filename='vendor/jquery/jquery.min.js') }}"></script>
    <script src = "{{ url_for('static', filename='vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

    <!-- Plugin JavaScript -->
    <script src = "{{ url_for('static', filename='vendor/jquery-easing/jquery.easing.min.js') }}"></script>

    <!-- Custom scripts for this template -->
    <script src = "{{ url_for('static', filename='js/stylish-portfolio.min.js') }}"></script>

  </body>

</html>

Также файлы в проекте упорядочены так:
Jinja2.exceptions.TemplateSyntaxError: ожидаемый токен &apos;,&apos;, получил &apos;static&apos;

Я не мог понять, в чем проблема, поэтому надеюсь, что один из гениев здесь сможет разоблачить мою ошибку.

Вы должны скопировать и вставить ошибку как текст, а не как внешнее изображение. Иногда внешние ресурсы исчезают, и поэтому вопрос теряет контекст и может перестать быть полезным для других людей.

Acapulco 25.06.2018 18:40
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
6
1
16 738
3

Ответы 3

Ближе к концу вашего кода,

<script src = "{{ url_for('static', filename='vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

должно быть

<script src = "{{ url_for('static', filename='vendor/bootstrap/js/bootstrap.bundle.min.js')}}"></script>

Вы пропустили ', ) и }}

Просмотрите стек вызовов и посмотрите, когда стек изменяется с вызова на jinja2 по сравнению с вызовом одной из ваших страниц HTML, например:

  File "C:\Program Files (x86)\Python37-32\lib\site-packages\jinja2\_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "c:\DEV\a-flask\base\templates\base.html", line 55, in template
    <script src = "{{url_for('static', filename='js/jquery-ui.min.js"></script>
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\jinja2\environment.py", line 1005, in render
    return concat(self.root_render_func(self.new_context(vars)))

Я перешел к строке 55 в base.html:

<script src = "{{ url_for('static', filename='js/jquery-ui.min.js }}"></script>

Исправление заключалось в том, чтобы включить последнюю цитату и отсутствующую скобку:

<script src = "{{ url_for('static', filename='js/jquery-ui.min.js') }}"></script>

Проблема только в синтаксисе функции url_for.

Проверьте наличие меток и имен файлов.

<script src = "{{ url_for('static', filename='vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

измените приведенный выше код на это -

<script src = "{{ url_for('static', filename='vendor/bootstrap/js/bootstrap.bundle.min.js')}}"></script>

Другие вопросы по теме