Flask-基础知识整理

本文主要介绍了Flask的基础知识,包括常用模块、Flask对象创建、配置方式、路由系统、视图函数、请求响应处理、蓝图概念、数据库连接池的使用、闪现消息和Session管理等核心概念。
摘要由CSDN通过智能技术生成

一、Flask常用模块

模块导入:
	1. ---from itertools import chain
			for item in chain(v1,v2):
			print(item)
	2. ---from flask import current_app
			print(current_app.config)

	3. ---from flask import Flask,render_template,request,redirect,session,url_for
	4. ---from urllib.parse import urlencode,quote,unquote
	5. ---import copy
	6. ---from flask import Blueprint
	7. ---import pymysql
	8. ---from DBUtils.PooledDB import PooledDB, SharedDBConnection
	9. ---from sqlalchemy import create_engine
	10.---from sqlalchemy.orm import sessionmaker
	11.---from sqlalchemy.orm import scoped_session
	12.---from flask import flash , get_flashed_messages
	13.---import functools
	14.---import redis
	15.---from flask import session
	16.---from flask_session import Session
	17.---import memcache


二、创建Flask对象

	app = Flask(__name__)
	app = Flask(__name__,static_folder='static', template_folder='templates') #添加静态文件和模板文件路径
	app = Flask(__name__,instance_path=None, instance_relative_config=True) #从instance文件夹下找配置文件
	# ----crm
	#	  ----app
	#	  ----instance
	#	         -- setting.py


三、配置方式

    import os
    from flask import current_app
    print(current_app.config)
    
    app.secret_key='asd'  #session加盐

	方式一:(推荐使用)
		app.config.from_object('settings.DevConfig')
	方式二:
		app.config.from_pyfile('settings.py')
	方式三:
		import os
		os.environ['FLAKS-SETTINGS'] = 'settings.py'
		app.config.from_envvar('FLAKS-SETTINGS')
	方式四:
		app.config['SESSION_COOKIE_NAME'] = 'session_lvning' 


四、路由系统

from flask import Flask,render_template,request,redirect,session,url_for
	app = Flask(__name__)

	1.路由使用:
		CBV:
			from flask import Flask,url_for,views
			class IndexView(views.MethodView):
			    # methods = ['POST']

			    decorators = [auth,]

			    def get(self):
			        v = url_for('index')
			        print(v)
			        return "GET"

			    def post(self):
			        return "GET"

			app.add_url_rule('/index', view_func=IndexView.as_view(name='index'))

		url和函数映射的两种方式:
			方式1:
			@app.route("/index",methods=['GET',"POST"]) 
			def index():
				return "index"
			方式2:
			app.add_url_rule('/index',methods=['GET',"POST"])
			
	2.详细:		
		@app.route(rule , methods=None,endpoint=None, redirect_to=None,defaults=None,subdomain=None,strict_slashes=None,)

			rule:'/index' 或 '/index/<int:nid>'  
			defaults: {'nid':2}      #设置默认值,即时能匹配到也使用默认值      
			methods: ['GET',"POST&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值