好久没有写东西的,主要是最近在用flask写一个网站,由于写前端界面时为了让UI好看一点,搞得自己晕头转向,方向都错了,在此期间也遇到很多问题,虽然绝大部分已经解决了,但是还有很多没有解决。其实,做一个项目是最能检验能力的。
中文网站链接编码
如果访问一个含中文字符的网站,很大可能会提示错误
import urllib
urllib.parse.quote(url)
好久没有写东西的,主要是最近在用flask写一个网站,由于写前端界面时为了让UI好看一点,搞得自己晕头转向,方向都错了,在此期间也遇到很多问题,虽然绝大部分已经解决了,但是还有很多没有解决。其实,做一个项目是最能检验能力的。
如果访问一个含中文字符的网站,很大可能会提示错误
import urllib
urllib.parse.quote(url)
今天被flask的项目结构或者说是蓝图搞得晕头转脑,各种文档也没说清,从github搜索并clone了几个用flask做成的网站,无奈水平太低,看不懂
记录一下今天学到的
|-app/
|-|init.py
|-|views.py
|-|init.py
|-|templates/
|-|static/
|-config.py
|-run.py
|-tmp/
输入python run.py
就可以运行程序
from app import app #从app包中调用app模块
app.run() #运行程序
一些基本的配置
DEBUG = True #打开调试模式
from flask import Flask, request, session, g, redirect, url_for, \
abort, render_template, flash
app = Flask(__name__)
app.config.from_object("config …
python html/css javascript http等
Flask 依赖两个外部库: Werkzeug 和 Jinja2 。 Werkzeug 是一个 WSGI 套件。 WSGI 是 Web 应用与 多种服务器之间的标准 Python 接口,即用于开发,也用于部署。 Jinja2 是用于渲染 模板的。
关于virtualenv
安装 virtualenv
$ sudo pip install virtualenv
安装完virtualenv后创建自己的文件夹
$ mkdir flask
$ cd flask
$ virtualenv venv
New python executable in env/bin/python
Installing setuptools............done.
以后要使用virtualenv只用输入
$ . venv/bin/activate #不要忘记了"."
你会发现在终端PS1前会出现(venv),代表你已经进入virtualenv虚拟环境
退出virtualenv
$ deactivate
flask 作为后端数据库操作是必要的,现在记录一下一些flask数据库的相关操作,
我将使用三种方法操作数据库
暂时使用较简单的sqlite作为例子
建议使用ve虚拟环境
sudo pacman -S sqlite # archlinux
sudo pip install virtualenv
# 在vertualenv环境下执行
pip install Flask-SQLAlchemy Jinja2 SQLAlchemy
最好是多看文档
参考资料
这是最简单的方法,不仅适用于flask,python的其他方面也一样适用,如爬虫之类
#!/usr/bin/env python
# -*- coding=UTF-8 -*-
import sqlite3
database = /path/test.db #数据库文件路径
test = sqlite.connect('database') #连接数据库,如果数据库文件不存在则创建
print('connect database successfully')
test.close() #关闭数据库连接
如果将数据库名改为:memory:,则在内存中打开数据库而不是磁盘
database = /path/test …