Saya akan mengatakan pertanyaan Anda tidak ada hubungannya dengan labu sama sekali. Misalnya, Anda tidak memiliki masalah dengan template, rute, tampilan, atau dekorator logon.
Tempat Anda berjuang adalah di SQLAlchemy.
Jadi saran saya abaikan Flask sebentar dan biasakan dulu SQLAlchemy. Anda perlu membiasakan diri dengan database yang ada dan cara mengaksesnya dari SQLAlchemy. Gunakan beberapa alat dokumentasi MySQL untuk menemukan jalan keluarnya. Mulailah dengan sesuatu seperti ini (perhatikan bahwa ini tidak ada hubungannya dengan Flask ask all ... belum):
#!/usr/bin/python
# -*- mode: python -*-
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('sqlite:///webmgmt.db', convert_unicode=True, echo=False)
Base = declarative_base()
Base.metadata.reflect(engine)
from sqlalchemy.orm import relationship, backref
class Users(Base):
__table__ = Base.metadata.tables['users']
if __name__ == '__main__':
from sqlalchemy.orm import scoped_session, sessionmaker, Query
db_session = scoped_session(sessionmaker(bind=engine))
for item in db_session.query(Users.id, Users.name):
print item
Pada baris "engine =
" Anda perlu menyediakan jalur Anda ke database MySQL Anda, sehingga SQLAlchemy menemukannya. Dalam kasus saya, saya menggunakan database sqlite3 yang sudah ada sebelumnya.
Pada baris "class Users(Base)
" Anda perlu menggunakan salah satu tabel yang ada di database MySQL Anda. Saya tahu bahwa database sqlite3 saya memiliki tabel bernama "pengguna".
Setelah titik ini, SQLalchemy tahu bagaimana menghubungkan ke database MySQL Anda dan tahu tentang salah satu tabel. Anda sekarang perlu menambahkan semua tabel lain yang Anda pedulikan. Terakhir, Anda perlu menentukan hubungan ke SQLalchemy. Di sini saya maksudkan hal-hal seperti satu-ke-satu, satu-ke-banyak, banyak-ke-banyak, orang tua-anak dan seterusnya. Situs web SQLAlchemy berisi bagian yang agak panjang tentang ini.
Setelah baris "if __name__ == '__main__'
" baru saja datang beberapa kode pengujian. Ini akan dieksekusi jika saya tidak mengimpor skrip python saya, tetapi jalankan. Di sini Anda melihat bahwa saya membuat sesi DB dan itu untuk kueri yang sangat sederhana.
Saran saya adalah Anda terlebih dahulu membaca tentang bagian penting dari dokumentasi SQLAlchemy, misalnya definisi tabel deskriptif, model hubungan, dan cara kueri. Setelah Anda mengetahui hal ini, Anda dapat mengubah bagian terakhir dari contoh saya menjadi pengontrol (mis. menggunakan yield
Python metode) dan tulis tampilan yang menggunakan pengontrol itu.