前后端配置踩坑记

因为前后端分离,前端代码放在一台服务器,后端代码放在另一个服务器,中间nginx配置转发。

 

1.location /url {}  VS location /url/ {}

第一次用nginx,虽然只修改nginx.conf用最简单的location部分,也踩了不少坑。

有很大差别,在前端代码中请求url为 ***/url, 而我在nginx.conf 加了一个斜杠‘/’,导致服务器本应接收POST请求,一直接收到GET请求,查看前端network,前端发起过两次请求,一次POST,一次GET,我猜测应该是nginx转发时,发现/url,发生重定向,由location /url/转发,变成GET请求。

 

2.flask后端接收前端ajax发送的post数据,查了网上一堆的答案,有些方法时而有用,时而无用的。

最后找了个大神方法,亲测完美解析json数据。request.get_json(force=True),一定要加force,一行代码获取并解析成json数据.

使用request.form()方法再json.dumps(data),不知道有时候不行。

 

3.读取数据库方法,flask中使用sqlalchemy是目前我用的最简单的方法,操作方法和连接方式都很简单,

在config.py中定义sql server数据库连接URI,在__init__.py中定义全局db = SQLAlchemy(),

class DevelopmentConfig(Config):
    DEBUG = True
    SQLALCHEMY_DATABASE_URI = 'mssql+pymssql://root:123456@BAO/JSON'

在__init__.py中定义app需要的上下文信息和配置参数

def create_app(config_name):#设置app的参数
    app = Flask(__name__,static_url_path='')
    app.config.from_object(config[config_name])#载入配置文件
    config[config_name].init_app(app)

    db.init_app(app)
    

    from .api import api as api_blueprint
    app.register_blueprint(api_blueprint,url_prefix='')#注册蓝图

    return app

成功建立连接。

 

4.在flask中定义的models.py中的class需要和数据库中的表内容一一对应。表名,架构,属性名,属性长度,

其中自增主键在models中定义,在实际存储中调用db.session.add((attribute....))可以不传递自增主键。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值