对于jinja2,我是一个完整的新手。是否有必要构建一个框架来使用jinja2?理想情况下,我会使用html,css,js和jinja。我想一个python文件。
答案 0 :(得分:0)
Jinja用于在python中进行模板化 - 如果你用js,html和css编写一个基本的web应用程序,你可以使用es6 template strings来模板化html中的js值/变量。如果你用js编写你的前端逻辑,这可能就是你要找的东西。
但是如果你对Python更熟悉,并且计划用Python编写你的应用程序,那么你可能想要使用像Flask这样的基本框架(然后是的,你会是使用jinja2)。
答案 1 :(得分:0)
您不需要使用jinja2的框架,只需在渲染模板时发出HTTP。
以下是没有框架的网页服务的一般模式: h/t for the Python 2 version
# import your jinja2 modules here
from http.server import BaseHTTPRequestHandler, HTTPServer
class MyHandler(BaseHTTPRequestHandler):
def _set_headers(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
def do_GET(self): # handle GET request
self._set_headers()
self.wfile.write(# call Jinja2 renderer here)
def run(server_class=HTTPServer, handler_class=MyHandler, port=80):
server_address = ('', port)
httpd = server_class(server_address, handler_class)
print("Starting server...")
httpd.server_forever()
if __name__ == '__main__':
run()
注意在此示例中,在请求处理程序的GET方法中调用Jinja2。