Flask网站开发常见问题

(1)框架搭完后,对数据库的操作,如果存在migrations文件夹,则删除,执行下面语句

             python manage.py db init

             python manage.py db migrate

             python manage.py db migrade


(2) 运行出现问题D:\Python27\python.exe: can't open file 'G:/flasky/hello.py': [Errno 2] No such file or directory

     解决:右上角的运行配置还是以前的命令行,需要重新输入。


(3)把POST 加入方法列表很有必要,因为将提交表单作为POST 请求进行处理更加便利。表单
也可作为GET 请求提交,不过GET 请求没有主体,提交的数据以查询字符串的形式附加到
URL 中,可在浏览器的地址栏中看到。基于这个以及其他多个原因,提交表单大都作为
POST 请求进行处理。


(4)Python内置的@property装饰器就是负责把一个方法变成属性调用的


(5) python中 self指的是类实例对象本身(注意:不是类本身)


(6) TemplateNotFound: bootstrap/wtf.html?    因为在manage.py中没有  bootstrap = Bootstrap(app)


(7)  在页面上显示message时出现的问题,

          password_confirm = PasswordField(label=u'确认密码', validators=[DataRequired(),
                                                                EqualTo('password', message=u'两次输入密码不匹配!')])

      在html中没有显示出message的打印消息,原因是message是WTF中的方法,使用wtf.quick_form(form)才能调用

    如果不想用怎么办?      直接把错误消息找到打印出来

     {% for field in form %}
            {% if field.type != 'CSRFTokenField' and field.type != 'SubmitField' %}
                {{ field.label.text|safe}}:{{ field(class="form-control") }}
                {% for error in field.errors %}
                <span style="color:red;">[{{ error }}]</span>
                {% endfor %}<br>
            {% endif %}
        {% endfor %}

 (8)*args and **kwargs        *args: 把所有的参数按出现顺序打包成一个 list 
 

        **kwargs:把所有 key-value 形式的参数打包成一个 dict

(9)filter_by  和filter用法

query = query.filter_by(patentInfo.id==form.id.data)

query = query.filter_by(applicant=form.applicant.data)

你可能感兴趣的:(Flask网站开发常见问题)