Python Flask WTForms基于用户inpu添加文件

2024-04-29 21:19:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难找到这方面的信息:

我用烧瓶和Python来做这个。 我希望用户在HTML表单中输入一些文本,提交后,文本将被发送到python并创建/附加一个文件。(WPA_uplicant)最终将用户连接到无线网络。在

请帮我弄一下这个动作的瓶子代码。 这是我能找到的最接近的东西!我不知道这个代码的模板应该是什么样子。在

from flask import Flask, render_template, request, redirect, url_for
import datetime
app = Flask(__name__)

@app.route("/")
def hello():
   now = datetime.datetime.now()
   timeString = now.strftime("%Y-%m-%d %H:%M")
   f=open('/boot/wpa_supplicant.conf','r')
   fp=f.read()
   templateData = {
      'title' : 'HELLO!',
      'time': timeString,
      'WPA': fp
      }
   f.close()
   return render_template('main.html', **templateData)

@app.route('/data', methods=['POST'])
def handle_data():
   newWPA=request.form['indexMain']
   print newWPA
   f=open('/boot/wpa_supplicant.conf','w')
   f.write(newWPA)
   f.close
   return redirect(url_for('hello'))

if __name__ == "__main__":
   app.run(host='0.0.0.0', port=80, debug=True)

请指教!谢谢您。在


Tags: 代码用户文本importappurlflaskdatetime
1条回答
网友
1楼 · 发布于 2024-04-29 21:19:34

在烧瓶docsquickstart中,处理简单形式是最显著的特点。使用request.form访问表单数据。使用WTForms更简单,而且在[docs]中也有明确的说明。在

project/app.py

from flask import Flask, request, redirect, url_for
from flask_wtf import Form
from wtforms.fields import PasswordField
from wtforms.validators import InputRequired

app = Flask(__name__)

class WifiForm(Form):
    password = PasswordField(validators=[InputRequired()])

@app.route('/wifi-password', methods=['GET', 'POST'])
def wifi_password():
    form = WifiForm()

    if form.validate_on_submit():
        password = form.password.data

        with open('/boot/wpa_supplicant.conf', 'w') as f:
            f.write('valid conf file with password')

        return redirect(url_for('index'))

    return render_template('wifi_password.html', form=form)

project/templates/wifi_password.html: 在

^{pr2}$

相关问题 更多 >