Задать вопрос
IM_NIK
@IM_NIK

Не создаётся база данных SQLite python?

Создавал свой проект на flask-е (вроде бы всё сделал правильно (проект ошибок не выдал ))
Нужно было создать базу данных sqlite
Захожу в папку с проектом,
Пишу "python" ,
импортирую переменную db (
app = Flask(__name__)
app.config.from_object(Configuration)
app.config['SQLALCHEMY_DATEBASE_URI'] = 'sqlite///blog.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db=SQLAlchemy(app)

)и класс с нужными данными (
class Article(db.Model):
# SETTINGS
id = db.Column(db.Integer,primary_key=True)
	title = db.Column(db.String(140) ,nullable=False)
	text = db.Column(db.Text , nullable=False)
	date = db.Column(db.DateTime, default=datetime.now())
	#funcshon
	def  __repr__(self):
		return '<Article %r>' % self.id

)
from app import db
from models import Article
db.create_all()

.
НО база данных не создалась не знаю почему?
  • Вопрос задан
  • 1229 просмотров
Подписаться Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 3
@ayaout
ayavrik
Нужно импортировать модуль sqlite3 и создать связь с базой данных.
#import sqlite3
#from flask import g
#DATABASE = '/path/to/database.db'
Ответ написан
2ord
@2ord
Правильный префикс соединения с Sqlite такой (пропущено двоеточие):
sqlite://


# Unix/Mac - 4 initial slashes in total
engine = create_engine('sqlite:////absolute/path/to/foo.db')


https://docs.sqlalchemy.org/en/13/core/engines.htm...

Если стоит 3 слэша, то установлен текущий путь приложения.
Ответ написан
IM_NIK
@IM_NIK Автор вопроса
делал всё по этому уроку
https://www.youtube.com/watch?v=G-si1WbtNeM
База не создалась после полной переделки блока и проверки на помарки .

app.py
from flask import Flask , request,redirect , url_for
from configurasion import  Configuration
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
#!!! file
app = Flask(__name__)
app.config.from_object(Configuration)
db=SQLAlchemy(app)

main.py
from app import db
from app import app
import view
if __name__ == "__main__":
    app.run()

view.py
from app import app
from flask import render_template
from models import Article

@app.route("/",methods=['POST','GET'])
def index():
	return render_template('test.html')
	if request.method == 'POST':
		pass
		title = request.form['title']
		text = request.form['text']
		article = Post(title=title,text=text)
		try:
			db.session.add(article)
			db.session.commit()
			return redirect('/')
		except:
			return render_template('404.html'),404
	else:
		return render_template('test.html')
@app.route("/snq")
def snq():
	return "SNQ OLEG MOLCHANOV"
@app.route("/ADMIN")
def admin():
	return render_template('ADMIN.html')
@app.errorhandler(404)
def page_not_faund(e):
	return render_template('404.html'),404
@app.route('/comment',methods=['POST','GET'])
def comment():
	articles = Article.query.order_by(Article.date).all()
	return render_template('Comment.html',articles=articles)

Configurasion,py
class Configuration():
	DEBUG=True;
	SQLALCHEMY_TRACK_MODIFICATIONS = False
	SQLALCHEMY_DATEBASE_URI = 'sqlite:///blog.db'

models.py
from app import db
from datetime import datetime
import re

class  Article(db.Model):
	# SETTINGS
	__tablename__ = 'posts'
	id = db.Column(db.Integer,primary_key=True)
	title = db.Column(db.String(140) ,nullable=False)
	text = db.Column(db.Text , nullable=False)
	date = db.Column(db.DateTime, default=datetime.utcnow)
	#funcshon
	def  __repr__(self):
		return '<Article %r>' % self.id

db.create_all()
ПОМОГИТЕ ПОЖАЛУЙСТА!!!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы