Skip to content

Instantly share code, notes, and snippets.

@jangia
Created June 4, 2018 15:19
Show Gist options
  • Save jangia/70b52ff2fdc747a75683198d5f2f28e0 to your computer and use it in GitHub Desktop.
Save jangia/70b52ff2fdc747a75683198d5f2f28e0 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>SmartNinja basic Jinja template</title>
<link rel="stylesheet" href="/assets/css/style.css">
</head>
<body>
<h1>Hello, SmartNinja!</h1>
<h2>Main handler forma</h2>
<form method="post">
<input type="text" name="vnos">
<button type="submit">Objavi</button>
</form>
{% if rezultat %}
<p>{{ rezultat }}</p>
{% endif %}
<h2>Rezultat handler forma</h2>
<form method="post" action="/rezultat">
<input type="text" name="vnos">
<button type="submit">Objavi</button>
</form>
</body>
</html>
#!/usr/bin/env python
import os
import jinja2
import webapp2
template_dir = os.path.join(os.path.dirname(__file__), "templates")
jinja_env = jinja2.Environment(loader=jinja2.FileSystemLoader(template_dir), autoescape=False)
class BaseHandler(webapp2.RequestHandler):
def write(self, *a, **kw):
return self.response.out.write(*a, **kw)
def render_str(self, template, **params):
t = jinja_env.get_template(template)
return t.render(params)
def render(self, template, **kw):
return self.write(self.render_str(template, **kw))
def render_template(self, view_filename, params=None):
if params is None:
params = {}
template = jinja_env.get_template(view_filename)
return self.response.out.write(template.render(params))
class MainHandler(BaseHandler):
def get(self):
return self.render_template("hello.html")
def post(self):
rezultat = "Uporabnik je vpisal: " + self.request.get('vnos')
params = {
'rezultat': rezultat
}
return self.render_template("hello.html", params=params)
class RezultatHandler(BaseHandler):
def post(self):
rezultat = "Uporabnik je vpisal: " + self.request.get('vnos')
return self.write(rezultat)
app = webapp2.WSGIApplication([
webapp2.Route('/', MainHandler),
webapp2.Route('/rezultat', RezultatHandler),
], debug=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment