Flask项目(新闻网站)—— 项目开展准备

前言

首先是虚拟环境的配置,因为任何一个项目,由于需求不同,所要求的版本也不同,这时候虚拟环境就是非常好的一个东西,当然在本地上配置也不是不行,但不建议。

如果不会配置虚拟环境,以下连接,希望可以帮助到你:https://blog.csdn.net/Y57657/article/details/123015643

此项目采用的是由virtualenv库的虚拟环境,接下来进入正题:

首先是我们这个项目所用到的库:

requirements.txt

alembic==0.9.9
blinker==1.4
certifi==2018.4.16
chardet==3.0.4
Flask==0.10.1
Flask-Migrate==2.1.1
Flask-MySQLdb==0.2.0
Flask-Script==2.0.6
Flask-Session==0.3.1
Flask-SQLAlchemy==2.3.2
Flask-WTF==0.14.2
idna==2.6
itsdangerous==0.24
Jinja2==2.10
Mako==1.0.7
Pillow==5.1.0
python-dateutil==2.7.2
python-editor==1.0.3
qiniu==7.2.0
redis==2.10.6
redis-py-cluster==1.3.4
requests==2.18.4
six==1.11.0
SQLAlchemy==1.2.6
urllib3==1.22
Werkzeug==0.14.1
WTForms==2.1

然后我们进入通过virtualenv库配置的虚拟环境
在这里插入图片描述
进入如图所示的环境后,输入以下命令,回车,记得联网,然后我们项目所需的库就开始下载了

pip install -r C:\Users\pl197\Desktop\requirements.txt

后面的地址是你文件所在位置,你只需要将文件拖进图中的环境即可

当你的库下完后,还需要改一个库的版本,如图所示:

在这里插入图片描述

到此,项目所需的库已彻底配置完成,此项目我采用的是Pycharm的2017版

正题

然后打开我们尊贵的2017版Pycharm,进行项目代码的一个的配置

首先创建一个叫info的python包(自带init的py文件),进入__init__文件,配置:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from redis import StrictRedis
from flask_wtf import CSRFProtect
from flask_session import Session
# from config import DevlopmentConfig,ProductionConfig,UnittestConfig
from config import configs


def create_app(config):
    app = Flask(__name__)
    # 配置信息的加载
    app.config.from_object(configs[config])

    # 实例化SQLAlchemy
    db = SQLAlchemy(app)

    # 实例化redis连接对象
    sr = StrictRedis(host=configs[config].REDIS_HOST, port=configs[config].REDIS_POST)

    # 开启CRSF保护
    CSRFProtect(app)

    # 实例化session
    Session(app)
    return app

然后在项目的根目录下,新建一个叫config文件,配置:

from redis import StrictRedis

# 配置类
class Config:
    DEBUG = True
    SQLALCHEMY_DATABASE_URI = 'mysql://root:123456/@localhost:3306/news_20'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SECRET_KEY = 'sdfgsdgsdfgsdfsdfsdfs'

    REDIS_HOST = '127.0.0.1'
    REDIS_POST = 6379

    SESSION_TYPE = 'redis'
    SESSION_REDIS = StrictRedis(host=REDIS_HOST,port=REDIS_POST)
    SESSION_USE_SIGNER = True
    PERMANENT_SESSION_LIFETIME = 60*60*24


class DevlopmentConfig(Config):
    """开发环境"""
    pass


class ProductionConfig(Config):
    DEBUG = False
    """生产环境"""
    pass


class UnittestConfig():
    """测试环境"""
    pass

configs ={
    'dev':DevlopmentConfig,
    'pro':ProductionConfig,
    'unit':UnittestConfig
}

然后,进入我们项目初建时出现的第一个Python文件,进行配置:

from flask import Flask,session

from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand
# from info import app,db
from info import create_app

app = create_app('dev')

# 集成脚本
manage = Manager(app)
# Migrate(app,db)
# manage.add_command('mysql', MigrateCommand)

@app.route('/')
def hello_world():
    session["a2"] = 'HEHEHE'
    return 'Hello World!'


if __name__ == '__main__':
    manage.run()

到此,关于项目代码的配置类,就结束了

由于此项目用到了数据迁移,如果你在数据迁移的配置中,出现了以下bug:

c:\users\pl197\appdata\local\programs\python\python37\python.exe: can't open

此问题是你更改了项目的名字,所导致的,唯一解决办法就是,重新建一个项目,把名字设好,就OK了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值