Arama butonu
Bu konudaki kullanıcılar: 1 misafir
9
Cevap
1146
Tıklama
0
Öne Çıkarma
Python Flask ile veri tabanı
W
5 yıl
Çavuş
Konu Sahibi

Merhaba, flask öğrenmeye başladım ama veritabanını ya hiç oluşturamıyorum ya da oluştursam bile bağlantıyı bir türlü kuramıyorum. Bu konuyla ilgili çok video izledim ama onların yaptıklarını birebir yapmama rağmen olmuyor sanırım başka ayarları da var. Bir de genelde mysql kullanıyorlar neden sqlite3 kullanmıyorlar onu da merak ettim. flaskda veritabanı oluşturma ve bağlanma ile ilgili kaynak paylaşabilecek varsa sevinirim, teşekkürler.



C
5 yıl
Yüzbaşı

Yaptığınız adımları sayar mısınız?



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
W
5 yıl
Çavuş
Konu Sahibi

aşağıda kısaca özetlemeye çalıştım

cmd ile sqlite3 example.db komutuyla veritabanını çalıştığım kalsörde oluşturdum

pip intall flask_sqlalchemy yükledim


bir example.py dosyası oluşturdum, siteden mevcut kodları kopyaladım ve bağlantıyı yolunu aşağıdaki gibi belirttim
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////Users/user/Python/untitled4/example.db'

terminalden pythonu çalıştırıp
from example import db
yazdım bu kod çalıştı ama sonraki
db.create_all()
kodu farklı videolarda ve dökümanlardaki adımları uygulasam bile hep hata verdi


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @CarnageTR
C
5 yıl
Yüzbaşı

Hata kodu nedir? Tüm içeriği yazabilir misiniz? Böyle anlamak imkansız.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @wyilldirim
W
5 yıl
Çavuş
Konu Sahibi

Flask ile yapamayınca Django'ya geçtim ama yine de Flask ile de yapmak isterim. terminalde çıkan hatayı aşağıda paylaşıyorum

>>> from example import db

>>> db.create_all()
Traceback (most recent call last):
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 2262, in _wrap_pool_connect
return fn()
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 363, in connect
return _ConnectionFairy._checkout(self)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 760, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 492, in checkout
rec = pool._do_get()
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\impl.py", line 238, in _do_get
return self._create_connection()
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 308, in _create_connection
return _ConnectionRecord(self)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 437, in __init__
self.__connect(first_connect_check=True)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 639, in __connect
connection = pool._invoke_creator(self)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\strategies.py", line 114, in connect
return dialect.connect(*cargs, **cparams)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\default.py", line 451, in connect
return self.dbapi.connect(*cargs, **cparams)
sqlite3.OperationalError: unable to open database file

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\user\Python\untitled4\lib\site-packages\flask_sqlalchemy\__init__.py", line 1033, in create_all
self._execute_for_all_tables(app, bind, 'create_all')
File "C:\Users\user\Python\untitled4\lib\site-packages\flask_sqlalchemy\__init__.py", line 1025, in _execute_for_all_tables
op(bind=self.get_engine(app, bind), **extra)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\sql\schema.py", line 4287, in create_all
ddl.SchemaGenerator, self, checkfirst=checkfirst, tables=tables
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 2032, in _run_visitor
with self._optional_conn_ctx_manager(connection) as conn:
File "C:\Python\Python37-32\lib\contextlib.py", line 112, in __enter__
return next(self.gen)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 2024, in _optional_conn_ctx_manager
with self._contextual_connect() as conn:
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 2226, in _contextual_connect
self._wrap_pool_connect(self.pool.connect, None),
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 2266, in _wrap_pool_connect
e, dialect, self
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 1536, in _handle_dbapi_exception_noconnection
util.raise_from_cause(sqlalchemy_exception, exc_info)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\util\compat.py", line 383, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\util\compat.py", line 128, in reraise
raise value.with_traceback(tb)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 2262, in _wrap_pool_connect
return fn()
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 363, in connect
return _ConnectionFairy._checkout(self)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 760, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 492, in checkout
rec = pool._do_get()
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\impl.py", line 238, in _do_get
return self._create_connection()
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 308, in _create_connection
return _ConnectionRecord(self)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 437, in __init__
self.__connect(first_connect_check=True)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 639, in __connect
connection = pool._invoke_creator(self)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\strategies.py", line 114, in connect
return dialect.connect(*cargs, **cparams)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\default.py", line 451, in connect
return self.dbapi.connect(*cargs, **cparams)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file
(Background on this error at:http://sqlalche.me/e/e3q8)
>>>




Bu mesajda bahsedilenler: @CarnageTR
C
5 yıl
Yüzbaşı

bu satırı 'sqlite:////Users/user/Python/untitled4/example.db'
bununla 'sqlite:///Users/user/Python/untitled4/example.db' değiştir. sonurun çözülmesi lazım.

Windowstaki öne slash işi olayı sürekli karıştırıyor. Docker üzerinden linux makine kullanırsan dev ortamın çok daha kullanışlı olur.


Bu mesaja 1 cevap geldi.
W
5 yıl
Çavuş
Konu Sahibi

maalesef yine hata verdi sanırım çok farklı bir sorun var

>>> db.create_all()
Traceback (most recent call last):
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 2262, in _wrap_pool_connect
return fn()
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 363, in connect
return _ConnectionFairy._checkout(self)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 760, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 492, in checkout
rec = pool._do_get()
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\impl.py", line 238, in _do_get
return self._create_connection()
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 308, in _create_connection
return _ConnectionRecord(self)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 437, in __init__
self.__connect(first_connect_check=True)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 639, in __connect
connection = pool._invoke_creator(self)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\strategies.py", line 114, in connect
return dialect.connect(*cargs, **cparams)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\default.py", line 451, in connect
return self.dbapi.connect(*cargs, **cparams)
sqlite3.OperationalError: unable to open database file

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\user\Python\untitled4\lib\site-packages\flask_sqlalchemy\__init__.py", line 1033, in create_all
self._execute_for_all_tables(app, bind, 'create_all')
File "C:\Users\user\Python\untitled4\lib\site-packages\flask_sqlalchemy\__init__.py", line 1025, in _execute_for_all_tables
op(bind=self.get_engine(app, bind), **extra)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\sql\schema.py", line 4287, in create_all
ddl.SchemaGenerator, self, checkfirst=checkfirst, tables=tables
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 2032, in _run_visitor
with self._optional_conn_ctx_manager(connection) as conn:
File "C:\Python\Python37-32\lib\contextlib.py", line 112, in __enter__
return next(self.gen)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 2024, in _optional_conn_ctx_manager
with self._contextual_connect() as conn:
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 2226, in _contextual_connect
self._wrap_pool_connect(self.pool.connect, None),
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 2266, in _wrap_pool_connect
e, dialect, self
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 1536, in _handle_dbapi_exception_noconnection
util.raise_from_cause(sqlalchemy_exception, exc_info)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\util\compat.py", line 383, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\util\compat.py", line 128, in reraise
raise value.with_traceback(tb)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\base.py", line 2262, in _wrap_pool_connect
return fn()
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 363, in connect
return _ConnectionFairy._checkout(self)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 760, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 492, in checkout
rec = pool._do_get()
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\impl.py", line 238, in _do_get
return self._create_connection()
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 308, in _create_connection
return _ConnectionRecord(self)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 437, in __init__
self.__connect(first_connect_check=True)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\pool\base.py", line 639, in __connect
connection = pool._invoke_creator(self)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\strategies.py", line 114, in connect
return dialect.connect(*cargs, **cparams)
File "C:\Users\user\Python\untitled4\lib\site-packages\sqlalchemy\engine\default.py", line 451, in connect
return self.dbapi.connect(*cargs, **cparams)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file
(Background on this error at:http://sqlalche.me/e/e3q8)




Bu mesajda bahsedilenler: @CarnageTR
C
5 yıl
Yüzbaşı

Bunu deneyin

sqlite:\\\Users\\user\\Python\\untitled4\\example.db



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
W
5 yıl
Çavuş
Konu Sahibi

yardımlarınız için çok teşekkür ederim ama bunda ise faklı bir yerde hata verdi

>>> from example import db
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\user\Python\untitled4\example.py", line 7
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:\\\Users\\user\\Python\\untitled4\\example.db'
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 9-10: truncated \UXXXXXXXX escape
>>> db.create_all()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'db' is not defined
>>>




Bu mesajda bahsedilenler: @CarnageTR
W
5 yıl
Çavuş
Konu Sahibi

ufak bir değişiklik yaptım çalıştı

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///C:\\Users\\user\\Python\\untitled4\\example.db'
>>> from example import db
C:\Users\user\Python\untitled4\lib\site-packages\flask_sqlalchemy\__init__.py:835: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True or False to suppress this warning.
'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '
>>> db.create_all()
>>>



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.