News for hackers. Stuff that matters.
Re:Ask HN: What Python web programming frameworks and tools ... by thinkxl on Thursday February 22, 2018 @12:01PM (#16439060)
Bottle[0], Dataset[1], and pipenv[3].

With those three tools I can create a web app with basic functionality with few lines of code, like a prototype. For example:

  from datetime import datetime
  from bottle import get, post, request, run, template, redirect
  import dataset


  db = dataset.connect('sqlite:///database.sqlite')
  entries_table = db['entries']


  @get('/')
  def show_entries():
      entries = entries_table.all()
      entries_sorted = sorted(entries, reverse=True)
      return template('entries', entries=entries_sorted)


  @post('/add')
  def add_entry()
      entry = request.forms.get('entry')
      entries_table.insert(dict(
          text=entry,
          created_by=datatime.utcnow(),
      ))
      return redirect('/')


  run(reloader=True, debug=True)
- [0] https://bottlepy.org/docs/dev/

- [1] https://dataset.readthedocs.io/en/latest/

- [3] https://docs.pipenv.org/

Edit: formatting.

Re:Ask HN: What Python web programming frameworks and tools ... by vram22 on Friday February 23, 2018 @11:24AM (#16447272)
Where is the code that shows (in the browser) the form for add_entry()? I've used Flask, and for a task like this, you typically have to have either one method which is decorated with a route that takes a list of two method args, "get" and "post" in a list, and then have an if statement to distinguish between code to display the form (get code) and code to process the data on submit (post code), or two separate methods, which could be called get and post or get_entry and post_entry. But your get method does not show a form; it displays all the entries.
Re:Ask HN: What Python web programming frameworks and tools ... by thinkxl on Friday February 23, 2018 @12:34PM (#16447806)
In that example I put the form on the '/' route. Here is a GitHub repo with the code:

https://github.com/thinkxl/hn-bottle-example

And here is a gif showing how it works:

https://dsh.re/364b2

Edit: Words.

Re:Ask HN: What Python web programming frameworks and tools ... by vram22 on Friday February 23, 2018 @02:37PM (#16448731)
Okay, will check those out, thanks.