Flask Dashboard Argon - 코딩으로 Flask 배우기

7758 단어 appseedflaskdashboard
안녕하세요 코더,

초보자이고 대시보드 코딩 아이디어가 어렵거나 약간 무섭게 들릴 수 있는 경우 이 문서가 약간 도움이 될 것입니다. .

Thanks for reading! - Content provided by App Generator.





  • Flask dashboard - 상품 페이지

  • Flask Dashboard Argon - 라이브 데모



  • Flask Dashboard Argon


    앱 기능


  • DBMS: SQLite, PostgreSQL(프로덕션)
  • DB 도구: SQLAlchemy ORM, Flask-Migrate(스키마 마이그레이션)
  • 블루프린트가 포함된 모듈식 설계, 간단한 코드베이스
  • 세션 기반 인증(flask_login을 통해), 양식 검증
  • 배포 스크립트: Docker, Gunicorn/Nginx, Heroku



  • 데이터베이스 추가



    Flask는 기본적으로 데이터베이스를 지원하지 않기 때문에 밑줄 데이터베이스(SQLite, MySql)에 액세스하려면 애플리케이션에 통합 해야 합니다.
    이 확장은 객체 지향 방식으로 테이블에 액세스하고 RAW SQL 쿼리를 완전히 작성하지 않도록 도와줍니다.

    Steps to follow:


  • 설치Flask SQLAlchemy 확장 프로그램
  • 모델 정의, 필수 구성 추가
  • 앱 스타터를 업데이트하여 데이터베이스를 즉석에서 생성

  • Any python extension can be easily installed via PIP


    pip install flask_sqlalchemy

    Define the User model - used in the authentication process - sources



    class User(db.Model):
    
        id       = db.Column(db.Integer,     primary_key=True)
        user     = db.Column(db.String(64),  unique = True)
        email    = db.Column(db.String(120), unique = True)
        password = db.Column(db.String(500))
    


    Add Configuration required by SQLAlchemy - sources



    class Config():
        SQLALCHEMY_TRACK_MODIFICATIONS  = False
        SQLALCHEMY_DATABASE_URI = 'sqlite:///database.db')
    


    Bind SQLAchemy object to our app - in file init.py



    from flask            import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    
    app.config.from_object('app.configuration.Config')
    
    db = SQLAlchemy  (app) # flask-sqlalchemy
    


    Finally, update the app launcher run.sh to create the database



    from app import app
    from app import db
    
    if __name__ == "__main__":
        db.create_all()
        app.run() 
    



    Flask Sql연금술 인증 추가



    기본 Flask 지식이 있고 몇 분 동안 설명서를 읽는다면 Flask 애플리케이션에 기본 인증을 구현하는 것은 쉬운 작업이어야 합니다.

    Steps to follow


  • Flask 로그인 모듈 추가
  • 로그인, 등록 양식 및 페이지 추가
  • 인증 경로 처리

  • Install Flask login - via PIP


    pip install flask-login

    Install forms helpers to validate the user input



    pip install flask-login
    pip install wtforms
    


    Create forms.py



    from flask_wtf import FlaskForm
    from wtforms.validators import Email, DataRequired
    
    class LoginForm(FlaskForm):
        username = StringField   (u'Username', validators=[DataRequired()])
        password = PasswordField (u'Password', validators=[DataRequired()])
    
    class RegisterForm(FlaskForm):
        username = StringField   (u'Username', validators=[DataRequired()])
        password = PasswordField (u'Password', validators=[DataRequired()])
        email    = StringField   (u'Email'   , validators=[Email()])
    


    Create the login page



    <form role="form" method="post" action="">
        {{ form.username(placeholder="Username") }}
        {{ form.password(placeholder="Password",type="password") }}
    </form>
    


    Create the registration page



    <form role="form" method="post" action="">
        {{ form.username(placeholder="Username") }}
        {{ form.email(placeholder="eMail") }}
        {{ form.password(placeholder="Password") }}
    </form>
    


    Update the __init.py file - to include the LoginManager



    from flask            import Flask
    from flask_sqlalchemy import SQLAlchemy # <-- new line
    from flask_login      import LoginManager # <-- new line
    
    app = Flask(__name__)
    
    app.config.from_object('app.configuration.Config')
    
    db = SQLAlchemy  (app) #flask-sqlalchemy
    
    lm = LoginManager(   ) # flask-loginmanager
    lm.init_app(app) # init the login manager
    


    Create new routes in the views.py for login, logout, register



    # update the imports to include latest assets
    from app.models import User
    from app.forms  import LoginForm, RegisterForm
    
    # logout route
    @app.route('/logout.html')
    def logout():
        logout_user()
    
    ...
    
    # register user
    @app.route('/register.html', methods=['GET', 'POST'])
    def register():
    
        # declare the Registration Form
        form = RegisterForm(request.form)
    ... 
    
    @app.route('/login.html', methods=['GET', 'POST'])
    def login():
    
        # Declare the login form
        form = LoginForm(request.form)
    ... 
    



    최종 단어



    명확하지 않은 내용이 있으면 의견 섹션에서 추가 정보를 요청하십시오. 고맙습니다!

    Resources



  • - 공식 웹사이트
  • 기타Flask - AppSeed 제공
  • 좋은 웹페이지 즐겨찾기