在python中,一般不会在数据库里写SQL语句,而是通过ORM(对象关系映射)将python对象映射为数据库里的数据,实现对数据库的操作。ALchemy是python里功能强大的一款OMR包。
我写了一个简单的程序是这样的:
1. http://localhost:3000/ 页面可以访问并且返回预期的页面内容,页面内容需要包含文章标题列表及文章链接地址
2.文章内容可以通过 http://localhost:3000/ 页面中的链接地址可以访问
运行环境:python+mysql+Alchemy+flask。
第一步我要在我的app.py(程序名)里创建相应的映射类File和Category。实现如下,重点说明一下我在实现过程遇到的问题。
1.config参数设置:
TEMPLATES_AUTO_RELODE这个参数设置为true,这样每次app.py被修改后模板都会自动加载;
SQLALCHEMY_TRACK_MODIFICATIONS这个参数一定要设置,true和false都可以,如果不设置会报错。
SQLALCHEMY_DATABASE_URI这个参数就是告诉app.py链接哪里的数据库。
参数格式是这样的:
mysqldb://<username>:<password>@<host>:3306/<database>,其中3306是mysql的默认端口号)
2.有的资料是下面这样的写法,但是我用的时候报错了,说是无法找到SQLAlchemy。后面我查了原因,正确的写法应该是代码片贴出来的那种。
from flask.ext.sqlalchemy import SQLAlchemy
from flask import Flask,render_template, abort
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
app = Flask(__name__)
app.config['TEMPLATES_AUTO_RELODE']=True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
app.config['SQLALCHEMY_D