Форум сайта python.su
0
и снова завис уже на несколько дней …
хочу запустить просто html страницу с помощью python + jinja2
(nginx + uwsgi)
Скрипт:
import sys import os from jinja2 import Environment, FileSystemLoader sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) def application(environ, start_response): start_response("200 OK", []) templ_dir = Environment(loader=FileSystemLoader(os.path.join(os.path.dirname(__file__), 'templates'))) template = templ_dir.get_template('base.html') return [template.render()]
if __name__ == "__main__": env = Environment(loader=FileSystemLoader(os.path.join(os.path.dirname(__file__), 'templates'))) template = env.get_template('base.html') print(template.render())
Офлайн
0
в доке wsgi написано что функция application должна возвращать итеруемый объект.
Наверное template.render() надо как-то сделать итеруемым объектом …
это что значит чтобы каждая строка html была элементом списка что-ли ?
Офлайн
47
вообще-то строка тоже итерируемый объект
я незнаю, но может надо просто
return template.render()
Офлайн
0
пробовал - то же самое … :-(
Офлайн
47
а просто строку выводит?
return ['Hello World!']
Офлайн
0
да выводит … Hello word это пока-что единственное что я добился ))
попробовал еще вот такое не проканало
return [i for i in template.render().readlines()] AttributeError: 'str' object has no attribute 'readlines'
Отредактировано Saytik (Окт. 7, 2013 16:52:26)
Офлайн
0
хотя вот это не показывает
return ['Hello World!']
return b"Hello World"
return [b"Hello World"]
Отредактировано Saytik (Окт. 7, 2013 16:56:12)
Офлайн
47
template.render()
Отредактировано bismigalis (Окт. 7, 2013 17:06:59)
Офлайн
0
вот с этими кодировками мне по сей день не доходит …
какая разница в какой кодировке я возвращаю строчку , главное браузеру где-то указать в какой кодировке читать ее правильно ?
читал вот статью по кодировкам и откуда utf-8 и зачем появилась, но суть мне так и не раскрыта зачем иногда надо u'' добавлять к тексту, а в данном случае почему не u'' а надо b'' ….
Офлайн
47
ты на каком питоне?
Офлайн