Проблема с использованием Flask render_template в Dreamhost Passenger WSGI

Я только что установил Passenger WSGI на свой общий хостинг Dreamhost, чтобы разместить на нем сайт flask. Их документация очень плохая, и мне потребовалось слишком много времени, чтобы понять, как делать такие вещи, как touch tmp / restart.txt, но я, наконец, встал и двинулся с места. Чтобы научить себя, что делать, я использую Руководство Мигеля Гринберга по Flask

Я дошел до урока 2, используя шаблоны, когда я начинал получать ошибки всякий раз, когда использовал render_template (). Это немного огорчает, потому что он немного работал, затем я изменил routes.py, после чего он перестал работать. Возврат routes.py не устранил проблему. К сожалению, у Passenger на общем хостинге Dreamhost действительно дерьмовый (читай несуществующий) журнал ошибок, поэтому я не знаю, в чем проблема.

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

Я упускаю что-то действительно очевидное? Вот каталог:

init .py

routes.py

шаблоны / index.html

init .py:

from flask import Flask
app = Flask(__name__)
from public import routes

routes.py

from flask import render_template
from public import app

@app.route('/')
@app.route('/index')
def index():
    return render_template('index.html')

index.html (не могу себе представить, что это проблема, но на всякий случай

<html>
  <head>
      {% if title %}
      <title>{{ title }} - Microblog</title>
      {% else %}
      <title>Microblog</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
    </body>
</html>

Я подправил и заменил здесь почти все. Все работает, если я не пытаюсь использовать render_template. Есть какая-то проблема с расположением каталога? Это именно то место, где должно быть из всего, что я читал.

РЕДАКТИРОВАТЬ: решено. Я заменил HTML-файл новым, и он сработал. Думаю, render_template не понравились теги indented и.

EDIT2: не решено. Это дает мне эту ошибку, казалось бы, случайную для некоторых файлов HTML, но не дает ее для других. Поскольку Dreamhost WSGI не дает мне никакой регистрации ошибок или возможности складывать трассировку, я здесь полностью в темноте и ищу ответы на вопросы Jinja2. Нет никакого шаблона, рифмы или причины для файлов, которые дают мне ошибки, по сравнению с файлами, которые этого не делают.


person Gay Deceiver    schedule 27.11.2018    source источник


Ответы (1)


Просто чтобы убедиться, что это не твоя проблема. Вы проверили права доступа к файлам? Все ваши размещенные файлы должны быть доступны для чтения (как минимум) для группы.

Кстати, у вас должен быть доступ к журналам ошибок через SSH. Вы можете найти файл error.log в $ HOME / logs // https / error.log

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

person Domínguez Charly    schedule 28.11.2018
comment
Dreamhost Passenger WSGI не ведет регулярные системные журналы - это известная проблема. Они предлагают пару обходных путей, которые, по мнению других, ломают WSGI новыми и разными способами. Если я не могу понять это по-другому, я сделаю все возможное, чтобы реализовать какое-то ведение журнала. Что касается разрешений, то и рабочие, и нерабочие HTML-шаблоны имеют разрешение 644. - person Gay Deceiver; 29.11.2018
comment
И я не думаю, что случайное объяснение подходит, потому что у меня постоянно есть один рабочий html-файл (индекс), а любой другой, который я делаю, не работает. Следующий план, я полагаю, состоит в том, чтобы просто заставить весь проект работать в PythonAnywhere и получить VPS от кого-то помимо Dreamhost, чтобы фактически реализовать сайт флешки. - person Gay Deceiver; 29.11.2018