美文网首页
flask开发笔记

flask开发笔记

作者: 静_谷 | 来源:发表于2018-07-07 21:56 被阅读0次

基于网易云课堂上的教程
更新ing
不适合新手入门

虚拟环境

  • 安装虚拟环境
    pip install virtualenv
  • 新建环境
    virtualenv [name]
  • 激活环境
    在进入虚拟环境目录下Scripts文件夹后
    activate
  • 退出环境
    在进入虚拟环境目录下Scripts文件夹后
    deactivate

Debug模式

  • 开启
    app.run(debug=Ture)
  • 关闭
    app.run(debug=False)

配置文件

新建一个config.py

#encoding utf-8

DEBUG = Ture

然后在主程序里面导入

import config

最后应用

app.config.from_object(config)

url传入参数

@app.route('/article/<id>')
def article(id):
  return u"%s" % id

url反转

from flask import url_for
#
url_for("article", id="123")
# return /article/123

重定义向

from flask import redirect
#
return redirect(url_for("login"))
return redirect("/login")

模板

template文件下新建一个index.html

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>Hello, {{ name }}</h1>
    <p>e-mail:{{ email }}</p>
</body>
</html>
#encoding: utf-8

from flask import Flask, render_template
import config

app = Flask(__name__)
app.config.from_object(config)

@app.route('/')
def hello_world():
    return 'Hello World!'

@app.route('/user/<name>/<email>')
def name(name,email):
    context={
        'name':name,
        'email':email
    }
    return render_template('index.html', **context)
    # = return render_template('index.html', name=name, email=email)

if __name__ == '__main__':
    app.run()

jinjia2语法

模板继承

{% extends 'base.html' %}

{% block main %}
{{ super() }}
{% endblock %}

flash

使用了bootstrap样式

{% with messages = get_flashed_messages() %}
    {% if messages %}
    {% for message in messages %}
        <div class="alert alert-warning">
            <button type="button" class="close" data-dismiss="alert"> &times;</button>
            {{ message }}
        </div>
    {% endfor %}
    {% endif %}
{% endwith %}

加载静态文件

url_for('static', filename='css/base,css')

MySQL数据库

进入MySQL 5.7 Command Line Client - Unicode输入密码后

  • 创建
    create database [databaseName] charset utf8;
  • 切换数据库
    use [databaseName]
  • 查看
    show tables
    desc [tableName]
    select * from [tableName]
  • 配置
DIALECT = 'mysql'
DRIVER = 'mysqldb'
USERNAME = 'root'
PASSWORD = 'root'
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'db_demo1'

SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT, DATABASE)
SQLALCHEMY_TRACK_MODIFICATIONS = False

模型操作

  • 创建模型
    Example:
class User(db.Model):
    __tablename__='user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(100), nullable=False)
    pw = db.Column(db.String(100), nullable=False)
    email = db.Column(db.String(100), nullable=False, unique=True)

    def __repr__(self):
        return '<User %r>' % self.username
  • 提交
    db.session.commit()
  • 添加
    db.session.add()
  • 删除
    db.session.delete()
  • 创建数据库
    db.create_all()
  • 删除所有数据
    db.drop_all()

相关文章

  • python flask安装和命令

    Flask Web开发实战学习笔记 Flask简介 Flask是使用Python编写的Web微框架。Web框架可以...

  • Flask 开发笔记

    Flask开发笔记 安装Flask pip install Flask 获取参数 常用的两种获取参数的方式,get...

  • (一) flask入门介绍

    本系列的内容来自读书笔记:《Flask Web 开发 :基于 Python 的 Web 应用开发实战》 一. fl...

  • Flask系列:数据库

    这个系列是学习《Flask Web开发:基于Python的Web应用开发实战》的部分笔记 对于用户提交的信息,包括...

  • Flask-Mail 发送邮件

    Flask 发送邮件 @(Flask)[Flask开发|Flask-Mail] 使用flask-mail扩展发送电...

  • Flask系列:工作流程

    这个系列是学习《Flask Web开发:基于Python的Web应用开发实战》的部分笔记 客户端——web 服务器...

  • Flask系列:模板

    这个系列是学习《Flask Web开发:基于Python的Web应用开发实战》的部分笔记 虽然可以在视图中直接编写...

  • Flask系列:表单

    这个系列是学习《Flask Web开发:基于Python的Web应用开发实战》的部分笔记 网站需要能提供一个表格,...

  • Flask Vue.js 全栈开发

    Flask Vue.js全栈开发 1. Flask Vue.js全栈开发教程系列 Flask Vue.js全栈开发...

  • Flask初探一(Flask 各参数的应用)

    Flask简介 Flask是什么 Flask 是一个 Python 实现的 Web 开发微框架,轻量级Web 开发...

网友评论

      本文标题:flask开发笔记

      本文链接:https://www.haomeiwen.com/subject/kccnuftx.html