在Flas中使用wtforms编辑值后,图像将不显示

2024-06-08 05:22:09 发布

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

我是Python新手/烧瓶。这里我的问题是,我没有使用wt表单来向服务器。但是,我正在使用wt表单编辑值得庆幸的是它是工作。但是问题是编辑后照片将不显示价值观。什么时候我在浏览器中添加图像,检查照片将显示的元素。模板中可能有问题。有人能帮忙吗我。谢谢对于高级。在

这是模板代码驱动程序_编辑.html在

<div class="form-group">
    <label>name: </label>
    <input name="name" type="text"  class="form-control" placeholder="enter name">
</div>
<div class="form-group">
    <label>photo: </label>
    <input name="photo" type="file"  class="form-control" placeholder="upload photo">
</div>
<div class="form-group">
    <label>Aadhar: </label>
    <input name="aadhar" type="file"  class="form-control" placeholder="up_load photo">
</div>

这是视图.html代码。在

^{pr2}$

下面是从web界面向数据库发布值的Python代码。在

def driver(request):  
   file2=request.files['photo']
   file3=request.files['aadhar']
   if  file2.filename and file3.filename == None:
       flash('No selected file')
       return redirect(request.url)
   filename=''
   if file2:
    filename = secure_filename(file2.filename)
    file2.save(os.path.join(app.config['UPLOAD_FOLDER'], file2.filename))
   if file3:
    filename = secure_filename(file3.filename)
    file3.save(os.path.join(app.config['UPLOAD_FOLDER'], file3.filename))

 newdriver=Driver(name=request.form['name'],photo=file2.filename,aadhar=file3.filename,
 status=request.form['status'],lastlogin=request.form['lastlogin'])

 sqlsession.add(newdriver)
 sqlsession.commit()

@app.route('/static/driver')
def driversearch():
   if session['username']:
    return render_template('driversearching.html',user=session['username'],Truck_company=get_truckdetails().all())
   else:
      flash('login first')
      return main()

@app.route('/static/driverdetails')
def driverdetails():
    if session['username']:
       users=getdriver()
       if users.first()==None:
          return render_template('empty.html',user=session['username'])
       else:
          return render_template('driverdetails.html',user=session['username'],driver=users.all())

这是wtf表格代码.py公司名称:

class DriverForm(FlaskForm):
    name=StringField('name')
    photo=StringField('photo')
    aadhar=StringField('aadhar')

@app.route('/newoneedit')
def newoneedit():
   form=DriverForm()
   if form.validate_on_submit():
     details={

        'photo':'form.photo.data',
        'aadhar':'form.aadhar.data',

    }
    sqlsession.add(details)
    return redirect(url_for('driverdetails'))
return render_template('driver_edit.html',form=form)

@app.route('/control/editdriver/<int:id>',methods=['GET','POST'])
def edituser(id):
   qry=sqlsession.query(Driver).filter(Driver.id==id).first()
   form=DriverForm(request.form,obj=qry)
   if request.method=='POST' or 'GET' and form.validate_on_submit():
       form.populate_obj(qry)
       sqlsession.add(qry)
       sqlsession.commit()
       return redirect(url_for('driverdetails'))
   return render_template('driver_edit.html',form=form,car_id=id,Truck_company=get_truckdetails().all(),driver=driver)

以下是数据库模型类:

class Driver(Base):
  __tablename__=='driver'
    name=Column(String(100))
    photo= Column(String(100),nullable=True)
    aadhar=Column(String(50),nullable=True)

在这里,我使用wt表单中的stringfield用于照片和数据库。在


Tags: namedivformreturnifrequesthtmldriver

热门问题