2016-11-29 5 views
0

アップロードフォルダから写真を表示する際に問題が発生しました。 私は、ユーザーがタイトル、説明を入力して画像をアップロードし、それをデータベースに挿入できるフォームを持っています。私はちょうどイメージを除いて私のテンプレートに追加したすべてのデータを表示することができます、そこにはXの代わりにイメージ。Jinja2に画像が表示されない

ps。アップロードされたフォルダに画像が正常にダウンロードされ、ファイル名が正常にデータベースに追加されました。それは単にページに表示されません。

app.py

#route to content page 
@app.route('/dashboard', methods = ['GET', 'POST']) 
def dashboard(): 
    error = None 
    form = MessageForm() 
    if form.validate_on_submit(): 
     filename = secure_filename(form.photo.data.filename) 
     form.photo.data.save(os.path.join('uploads/', filename)) 
     new_message = BlogPost(
      form.title.data, 
      form.description.data, 
      form.photo.data.filename, 
      current_user.id 
     ) 
     db.session.add(new_message) 
     db.session.commit() 
     flash("Your recipe was successfully posted. Thanks!") 
     posts = db.session.query(BlogPost).all() 
     return render_template('dashboard.html', posts = posts, form = form, 
           error = error) 
    else: 
     posts = db.session.query(BlogPost).all() 
     return render_template('dashboard.html', posts = posts, form = form,  
           error = error) 

フラスコDocからテンプレート

{% for post in posts %} 
    <div class="col-xs-12 col-sm-6 col-md-4 col-lg-5 masonry-item"> 
    <div class="box-masonry"><a href="#" title="" class="box-masonry 
    image with-hover-overlay"> 
    <img src="uploads/{{ post.photo }}" alt="" class="img-responsive" 
    </a> 
     <div class="box-masonry-hover-text-header"> 
     <h4> <a href="#">{{ post.title }}</a></h4> 
     <div class="box-masonry-desription"> 
      <p>{{ post.description }}</p> 
      <p><strong>{{ post.author.name }}</strong></p> 
     </div> 
     </div> 
    </div> 
    </div> 
    {% endfor %} 
+0

が正常に動作しますが、obviesly私はそれがダイナミックたい... –

+0

は相対パスが必要だと思う、 '/アップロードを試してみてください/ ' – Busturdust

+0

すでに、それは役に立たなかった。 –

答えて

1

特別な '静' のエンドポイントに 名を使用し、静的ファイルのURLを生成するには:

url_for('static', filename='style.css')

ファイルは、static/style.cssとしてファイルシステムに保存する必要があります。

そして、あなたが使用する必要がありますあなたの場合:私はてmanualyそれをポイントすると

{{ url_for('static', filename='uploads/' + post.photo) }} 
関連する問題