Эй, я делаю приложение для социальных сетей и хочу сохранить сообщение в моей БД.но я получаю ошибку - PullRequest
0 голосов
/ 01 января 2019

sqlalchemy.exc.OperationalError sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) нет такой таблицы: blogpost [SQL: 'INSERT INTO blogpost (заголовок, автор, date_posted, content) ЗНАЧЕНИЯ (?,?,?,?)'] [параметры: (' qedqdq ',' qwdqdwd ',' 2018-12-31 22: 51: 35.669388 ',' qwdqwdqwdqwdqwdqwdqwdqwdw ')] (фон этой ошибки: http://sqlalche.me/e/e3q8)

После iОтправить сообщение, чтобы опубликовать в моей базе данных я получаю ^^ ошибка

Вот некоторые из кода, который я использую.

Любая помощь будет здорово, спасибо !!!

app.py

import os  
from flask import Flask, render_template, request, redirect, url_for  
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime

app = Flask(__name__)  

app.config['SQLALCHEMY_DATABASE_URL'] = 'sqlite:///Users/------/Desktop/face0/face/blog.db'

db = SQLAlchemy(app)

class Blogpost(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(50))
    author = db.Column(db.String(20))
    date_posted = db.Column(db.DateTime)
    content = db.Column(db.Text)

@app.route('/addpost', methods=['POST'])
def addpost():
    title = request.form['title']
    author = request.form['author']
    content = request.form['content']

    post = Blogpost(title=title, author=author, content=content, date_posted=datetime.now())

    db.session.add(post)
    db.session.commit()

    return redirect(url_for('index'))

1 Ответ

0 голосов
/ 01 января 2019

Как упомянуто в документации flask-sqlalchemy , вам необходимо сначала создать базу данных, вызвав функцию create_all.

Чтобы создать исходную базу данных, простоимпортируйте объект db из интерактивной оболочки Python и запустите метод SQLAlchemy.create_all () для создания таблиц и базы данных:

>>> from yourapplication import db
>>> db.create_all()

В вашем случае это может выглядеть примерно так:

$ python
>>> from app import db
>>> db.create_all()
>>> exit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...