My form:
class BlogForm(FlaskForm):
title = StringField('title', validators=[DataRequired('Please fill the title field')])
author = StringField('author', validators=[DataRequired('Please fill the author field')])
description = TextAreaField('description', validators=[DataRequired('Please fill the description field')])
image = FileField('image', validators=[FileAllowed(['jpg', 'png', 'jpeg', 'gif'])])
My model:
class Blog(db.Model):
id = db.Column(db.Integer(), primary_key=True, autoincrement=True, nullable=True)
title = db.Column(db.String(50), nullable=False)
author = db.Column(db.String(128), nullable=False)
description = db.Column(db.String(200), nullable=False)
image = db.Column(db.String(), nullable=True)
date = db.Column(db.Date(), nullable=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'))
My function:
@app.route('/add_blog', methods=['GET', 'POST'])
@csrf.exempt
def add_blog():
if request.method == 'POST' and session['user_id']:
form = BlogForm()
if form.validate_on_submit() and request.files:
title = request.form['title']
author = request.form['author']
description = request.form['description']
image = request.files['image']
filename = secure_filename(image.filename)
image.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
url = image.filename
user_id = session['user_id']
blog = Blog(date= datetime.now(), title=title, author=author, description=description, image=url, user_id=user_id)
db.session.add(blog)
db.session.commit()
flash("Blog added successfully ")
return redirect('/blog')
else:
form = BlogForm()
return render_template('add_blog.html', title='Add blog', form=form)
My html:
{% extends 'layout.html' %}
{% block body %}
<h1>Dashboard <small> Welcome, {{ session['user'] }}!
<a class="btn btn-success pull-right" href="/add_blog">Add Blog</a>
</small>
</h1>
<ul class="list-group">
{% for blogs in blog %}
<a href="/delete_blog/{{blogs.id}}" class="btn btn-danger pull-right">Delete</a>
<a href="/edit/{{blogs.id}}" class="btn btn-success pull-right">Edit</a>
<div>
<img class="img-circle" src= "{{ blogs.image.url }}" height="200" width="200">
<style>
.img-circle {
border-radius: 50%;
}
</style>
<h1>Title: {{blogs.title}}
</h1>
</div>
<div>
<small>Author: Written by {{blogs.author}} on {{blogs.date}}
</small>
</div>
<hr>
<div>
Description:
<h5>{{blogs.description | safe}}</h5>
</div>
</ul>
{% endfor %}
{% endblock %}
Not display image. Please check my code. IMage successfully saved in database and directory. Why it is not displaying.Please help. When i inspect in browser error: Unknown source.
Не отображать изображение. Пожалуйста, проверьте мой код. IMage успешно сохранен в базе данных и каталоге. Почему это не отображается. Пожалуйста, помогите. Когда я проверяю в браузере ошибку: неизвестный источник. Не отображать изображение. Пожалуйста, проверьте мой код. IMage успешно сохранен в базе данных и каталоге. Почему это не отображается. Пожалуйста, помогите. Когда я проверяю в браузере ошибку: неизвестный источник.