Raspberry Pi Web-App配置向导

时间:2013-10-07 22:24:36

标签: python django web-applications user-interface raspberry-pi

我正在使用Raspberry Pi创建我的第一个项目:http://www.howtogeek.com/146410/how-to-automate-your-always-on-raspberry-pi-download-box/all/

考虑到有很多设置要做,我想知道是否有人可以给我一些指示和搜索术语来组合类似于CouchPotato的Web应用程序,我可以让用户运行来完成大部分设置在一个向导中。 (即写入其他Web应用程序的设置文件。)

我想知道:

  • 如何安装要从RPi本地运行的Web应用程序,并使用自定义端口
  • 我需要什么工具? (例如框架,语言)
  • 如何创建一个有点漂亮的Web 2.0 GUI(例如CouchPotato向导(imagerepo))

我在看Django,还是卡布奇诺?我不知道从哪里开始。我需要能够在电脑上编辑设置文件

1 个答案:

答案 0 :(得分:4)

安装Python:您需要在Rpi OS上安装python。如果尚未安装,则该过程应取决于您使用的操作系统。我在谷歌搜索中找到了this

要检查是否已安装,请在终端输入python。它应该在安装时启动交互式python shell。

如果你正在重新安装python。完成后检查pip是否与python一起安装。 'pip'应该给你安装pip的路径。如果没有,sudo easy_install pip应该这样做。


安装Flask :Flask是python的微框架。 Django很好,但对于你想做的事情可能有些过分。烧瓶很容易学习(意见)和光。

安装python和相关的软件包管理器后,您可以在RPi终端中运行sudo pip install Flasksudo easy_install Flask


Flask应用示例:这个简单的烧瓶表格可以帮助您入门。这将向您展示如何制作和提交表单。如何使用模板制作漂亮的页面。以及如何在任何端口上运行烧瓶应用程序。

目录结构将是这样的。

+AppDir
  |-myapp.py
  |+templates
    |-form.html

<强> myapp.py

from datetime import datetime
from flask import Flask
app = Flask(__name__)

@app.route('/writetofile' methods = ['GET', 'POST'])
def writetofile():
    if request.method == 'GET':
        now = str(datetime.now())
        data = {'name' : request.args['name'], 'date' : now, 'filled':False}
        return render_template('form.html', data=data)

    if request.method == 'POST':
        content = request.params['content']
        now = str(datetime.now())

        with open('samplefile.txt', 'w') as f:
            f.write(content)
        data = {'filled':True, 'file': 'samplefile.txt', 'date': now}
        return render_template('form.html', date=date)

if __name__ == '__main__':
    port = 8000 #the custom port you want
    app.run(host='0.0.0.0', port=port)

<强> form.html

<html><body>
<center>
  <h2>Form</h2>
  <p>Welcome, Current system DateTime is {{data.date}}.</p>

  {% if data.filled %}
    <p>Your content has been written to {{ data.file }}</p>
  {% endif %}

  <form action="{{ url_for('writetofile') }}" method=post>
    <label>What do you want to write to the file?</lable>
    <textarea name=content cols=60 rows=10 placeholder='Write here > Press submit'>
    </textarea>

    <input type=submit value='Lets Go!'>
  </form> 
</center>
</html></body>

运行应用:完成设置后,打开RPi终端,cd <path/to/AppDir>然后python myapp.py

打开系统上的所有浏览器,然后转到http://<yourRPi address>:8000/writetofile


更多活动:  1.学习在screen上运行命令。它在后台运行一个进程。现在需要它,因为当你的ssh连接断开时,如果没有在后台运行,烧瓶服务器将关闭。

  1. 找出您要更改的配置文件。

  2. 确定要使用flask URL控制哪些系统配置或函数,可以使用子进程模块从python运行终端命令。

  3. 了解如何使用Gunicorn部署烧瓶。目前不是很重要。 Flask的内置服务器在运行1-2天后变得没有响应。