0
我是創建Web應用程序的新手,我決定從學習Flask開始。我將社交網絡作爲練習和學習一些基本技能的輔助項目。從流中刪除帖子
到目前爲止,我已經能夠構建一個用戶可以發佈的「Stream」,類似於Twitter。 我一直在努力尋找一種方法來允許用戶刪除帖子。我正在使用Peewee庫的SQLite數據庫。這是我曾嘗試:
@app.route('/delete_post/<int:post_id>')
@login_required
def delete_post(post_id):
delete = models.Post.select().where(models.Post.id == post_id)
try:
models.DATABASE.delete(delete)
except models.DoesNotExist:
abort(404)
else:
flash("This post has successfully been deleted.", "success")
return redirect(url_for('stream', stream = stream))
而且,這裏是一個郵政是如何創建的:
class Post(Model):
timestamp = DateTimeField(default=datetime.datetime.now())
user = ForeignKeyField(
rel_model= User,
related_name='posts'
)
content = TextField()
class Meta:
database = DATABASE
order_by = ('-timestamp',)
最後,存在這樣的情況,當使用選擇delete_post方法將被稱爲模板「刪除「
{% extends "base.html" %}
{% block content %}
{% for post in stream %}
<article>
<h2>
<a href="{{ url_for('stream', username=post.user.username) }}">{{ post.user.username }}</a>
</h2>
<i class="clock"></i>
<time>
{{ post.timestamp.strftime("%a, %d %b %Y %H:%M") }}
</time>
<a href="{{ url_for('view_post', post_id=post.id) }}" class="view">View</a>
<a href="{{ url_for('delete_post', post_id=post.id) }}" class="view" >| Delete</a>
<div class="post">
{{ post.content }}
</div>
</article>
{% endfor %}
{% endblock %}
如何刪除帖子?當我嘗試我的解決方案時,我得到:AttributeError: 'SqliteDatabase' object has no attribute 'delete'
我知道這個問題很囉嗦,但任何幫助將非常感激,並將在未來的項目中幫助我很多。讓我知道是否需要澄清其他事情。
謝謝!
那麼真正的問題是什麼? – Boris
我想知道如何去刪除帖子 –
所以,再次,真正的問題是什麼?好像你知道如何刪除一篇文章,你只是寫了一篇文章。 – davidism