我正试图在flask_admin仪表板中查看所有表(烧瓶应用程序)的视图,但我没有在flask_admin中获取任何表。我不知道怎么了。一切似乎都正确。我会尝试其他方式,但仍然停留在这里吗?
我没有收到任何错误。我的flask_admin仪表板有问题。
Model.py:
from flask_admin.contrib.sqla import ModelView
from flask_login import UserMixin
import datetime
from flask_wtf import flaskForm
from wtforms import StringField,BooleanField,PasswordField
from wtforms.validators import input_required,Length,Email
from app import db,admin
date = datetime.datetime.strftime(datetime.datetime.now(),'%B %d,%Y')
class Contacts(db.Model):
__tablename__ = 'contacts'
id = db.Column('No',db.Integer,primary_key=True)
name = db.Column('Name',db.String(50),nullable=False)
email = db.Column('Email',nullable=False)
phone = db.Column('Phone',db.String(15),nullable=False)
message = db.Column('Message',db.Text,nullable=False)
date = db.Column('Date',db.VARCHAR(20),default=date)
def __repr__(self):
return '<Contacts(Name=%s,Email=%s,Phone=%s,Message=%s,Date=%s)>' % (
self.name,self.email,self.phone,self.message,self.date)
class Post(db.Model):
__tablename__ = 'post'
id = db.Column('No',primary_key=True)
title = db.Column('Title',nullable=False)
body = db.Column('Body',nullable=False)
tag = db.Column('Tag',nullable=False)
like = db.Column('Like',nullable=True)
url = db.Column('Url',db.String(20),nullable=False,default=date)
def __repr__(self):
return '<Post(title=%s,body=%s,tag=%s,like=%s,url=%s date=%s)>' % (self.title,self.body,self.tag,self.like,self.url,self.date)
class Login(db.Model,UserMixin):
__tablename__ = 'login'
id = db.Column('No',primary_key=True)
username = db.Column('username',db.String(100),nullable=False)
password = db.Column('Password',default=date)
def get_id(self):
return self.id
@property
def is_authenticated(self):
return True
@property
def is_active(self):
return True
@property
def is_anonymous(self):
return False
@property
def __repr__(self):
return '<Login(username=%s,email=%s,password=%s,date=%s)>' % (self.name,self.password,self.date)
# ------------------------------------ flask_admin view -------------------------------------
admin.add_view(ModelView(Post,db.session))
admin.add_view(ModelView(Login,db.session))
admin.add_view(ModelView(Contacts,db.session))
app.py:
from flask import flask,render_template,url_for,redirect,flash,request,flash
from flask_sqlalchemy import SQLAlchemy
from flask_login import Loginmanager,login_required,login_user
from flask_bootstrap import Bootstrap
from werkzeug.utils import secure_filename
import os,datetime
from sqlalchemy import or_
from flask_admin import Admin
date = datetime.datetime.strftime(datetime.datetime.now(),%Y')
app = flask(__name__,static_folder='static',template_folder='template')
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://rohit:password@localhost/flask'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
app.config['SECRET_KEY'] = 'KeepItSecret,DonotTellAnyone'
app.config['UPLOAD_FOLDER'] = 'static/img/'
ALLOW_EXTENSIONS = {'jpg','png','txt','jpeg','gif','pdf'}
db = SQLAlchemy(app)
login_manager = Loginmanager()
bootstrap = Bootstrap(app)
admin = Admin(app)
from model import *
# login init
db.init_app(app)
login_manager.init_app(app)
@login_manager.user_loader
def user_loader(user_id):
return Login.query.get(user_id)
.........
admin / index.html:
{% extends 'admin/master.html' %}
{% if 'user_name' in session %}
{{ super() }}
{% block messages %}
<h1>Hi,there.</h1>
{% endblock messages %}
{% endif %}
请帮忙弄清楚!