【发布时间】:2015-05-17 14:18:51
【问题描述】:
我正在尝试制作一个简单的网页,它将从 SQLite 文件中读取数据并将其显示在网页中,这很简单,我想做 3 个 SQL 查询并显示结果。
我有想法使用Brython,因为它看起来更容易制作 Django/Flask 应用程序,
这是我的代码:
<html>
<head>
<script src="/brython.js"></script>
</head>
<body onload="brython('debug_mode')"> <!-- for debug --!>
<script type="text/python">
from browser import document, alert
from browser import html
def echo(ev):
alert(document["zone"].value)
document['mybutton'].bind('click',echo)
document['text'] <= html.P("testing")
document['text'] <= html.P("testing 222")
# get holidays for today
import sqlite3
import sys
sqlite3_connection = sqlite3.connect('test.db')
with sqlite3_connection:
sqlite3_cursor = sqlite3_connection.cursor()
sqlite3_cursor.execute('SELECT SQLITE_VERSION()')
data = sqlite3_cursor.fetchone()
document['text'] <= html.P("SQLite version: %s" % data)
</script>
<input id="zone"><button id="mybutton">click !</button>
<div id="text">
</div>
</body>
</html>
这不起作用,问题是 Brython 默认没有 sqlite3 实现。
有没有一些简单的方法可以将 sqlite3 添加到 Brython 中?
我已经看到有一些Google summer of Code 项目针对它,但在任何地方都没有找到结果。
【问题讨论】:
-
由于 Brython 在浏览器中运行,您应该查看 local storage。
-
我不会被 Flask 吓倒。查看这个使用 Flask 和 sqlite3 实现简单应用程序的示例:github.com/mikedll/flasksqlitedemo
-
我会说 Brython 会更难,因为您现在无法在同一用户的不同浏览器之间共享该数据。 Flask 和 Django 仍然只是 Python,而 Brython 是一种使用 Python 语法的专用语言。因此,一大堆与网络相关的 Python 教程将无法在 Brython 上运行。
-
@MartijnPieters 我只需要读取 SQLite 文件,每个用户都需要相同的文件。
-
@chishaku 我想我会选择 Flash。我最初的想法是使用 Flask,但后来我记得 Brython,2 小时后又回到了 Flask。我从未部署过 Flask,这就是我喜欢 Brython 的原因。