データベース(データセット)値をフォームフィールドにあらかじめ入力する必要があります。 問題は、フォームクラスに引数を送信する方法がわかりません。私はいつも、私はPYで初心者だPython Flask:別の関数から既定の既定値にフォームクラス引数を送信
'produto' is not defined
私はエラーを取得しようとした
# coding: utf-8
import os
from werkzeug import secure_filename
from flask import (
Flask, request, send_from_directory, render_template, current_app, flash
)
from db import produtosalca
from forms import ContactForm, ProductForm
app = Flask("alcax")
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
app.config['MEDIA_ROOT'] = os.path.join(PROJECT_ROOT, 'media_files')
app.secret_key = 'development key'
@app.route('/productform', methods=['GET','POST'])
def productform(product):
form = ProductForm(request.form,product) ## here i was gonna send product
if request.method == 'POST':
'posted'
elif request.method == 'GET':
return render_template('productform.html', form=form.content())
forms.py
# coding: utf-8
from db import produtosalca as produtos ##dataset imports db['table']
from flask_wtf import FlaskForm
from wtforms import TextField, BooleanField, SubmitField, TextAreaField, validators, ValidationError
class ProductForm(FlaskForm,produto):
descricao = TextField("Nome", default=produto.Descricao)
classificacaoFiscal = TextField("NCM", default=produto.ClassificacaoFiscal)
mva = TextField("MVA",default=produto.MVA)
app.pyまあのすべて。一晩中一晩研究しています。前もって感謝します。
あなたが '' produtosとしてprodutosalcaをインポートするが、あなたはありませんSとproduto' 'としてそれを使用します。プロダクトの名前をプロドゥートに変更します。 –
ちょっと@odialghamdi thxです。私はこの部分を削除するのを忘れました。同じ名前を使用しても、AttributeError: 'Table'オブジェクトには属性 'Descricao'がないため、機能しません。 produtosalcaはdbテーブルです。 –
あなたのクラス 'table'は、クラス –