第二天:编写应用配置和视图

作者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai


这是利用 Flask 开发一个网站专题的第二天,完整目录请点击这里


在编写配置和视图之前,首先为应用规划目录结构,具体如下:

├── app(应用目录)
│   ├── __init__.py
│   ├── config.py(配置文件)
│   ├── forms.py(表单文件)
│   ├── main(主体模块)
│   │   ├── __init__.py
│   │   ├── errors.py(错误视图)
│   │   └── views.py(主体视图)
│   ├── static(静态文件目录)
│   │   └── style.css
│   ├── templates(模版文件目录)
│   │   ├── 404.html
│   │   ├── 500.html
│   │   ├── index.html
│   │   └── pk.html
│   ├── users(用户模块)
│   │   ├── __init__.py
│   │   └── views.py
│   │   └── forms.py
└── manage.py

接下来我们再做一些准备工作,用pip安装如下几个扩展。

  • Flask-Mail
    Flask的邮件扩展,利用它可以方便快捷地给用户发送邮件。
  • Flask-WTF
    Flask的表单扩展,用它可以在代码中编写表单类和基础属性,在模版中渲染表单。
  • Flask-PyMongo
    Flask的基于Pymongo的扩展,在为Flask应用部署MongoDB的连接时更加的快捷方便。

    1. 接下来,编写表单文件。
      首先从WTF扩展中导入Form类,我们要定义的表单类会继承到这个Form类,接下来简单地为表单定义三个域,两个文本输入框,validators中加入了wtforms.validators中的DataRequired的实例,它将会把这两个文本框设置为必填项。最后还有一个提交域,也就是提交该表单的按钮。

编写的文件位置为:app/users/forms.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from flask_wtf import Form 
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired 

class PkForm(Form):
    pk1 = StringField(validators=[DataRequired()])
    pk2 = StringField(validators=[DataRequired()])
    submit = SubmitField(label='pk一下')

2.编写蓝本文件

蓝本(Flask-Blueprint)有许多用途,其中一个常见的用途即是为应用的模块做url的划分。在一个应用的 URL 前缀和(或)子域上注册一个蓝图。 URL 前缀和(或)子域的参数 成为蓝图中所有视图的通用视图参数(缺省情况下)。关于蓝本的详细说明:http://dormousehole.readthedocs.org/en/latest/blueprints.html#blueprints 在Blueprint的参数中还可以指定模块的静态文件路径以及模版文件路径。还有一个比较好的例子参考这里

编写的文件位置为:app/main/__init__.py

#!/usr/bin/env python 
# -*- coding: utf-8 -*-

from flask import Blueprint

main = Blueprint('main', __name__)

from . import views, errors

猜你喜欢

转载自blog.csdn.net/CoderPai/article/details/80506555