flask-日料网站搭建
引言:想使用python的flask框架搭建一个日料网站,主要包含web架构,静态页面,后台系统,交互。
本节知识:搭建web目录,目前正在copy网站。
python环境:python2.7,flask,以及flask相关的库(没有列完,如果运行manage.py时提示未安装的库安装就ok了。)
先来看看大致构成,如下图:

然后按照如图新建一个目录,我一个个截图方便大家看。
主目录:

app:编写主要程序的目录
migrations:数据库相关目录
tests:测试目录
venu:扩展库或其他库环境
config.py:配置文件(重要)
manage.py:网站运行文件
requirements.txt:依赖库清单(这个好像自动生成)
贴上该目录两个脚本的代码:
config.py
# -*- coding: utf-8 -*-
import os basedir = os.path.abspath(os.path.dirname(__file__)) # 基类
class Config:
SECRET_KEY = 'hard to guess string'
SQLALCHEMY_COMMIT_ON_TEARDOWN = True
FLASKY_MAIL_SUBJECT_PREFIX = '[Flask]'
FLASKY_MAIL_SENDER = 'Flask Admin'
FLASKY_ADMIN = 'dimples'
@staticmethod
def init_app(app):
pass # 开发环境
class DevelopmentConfig(Config):
DEBUG = True
SQLALCHEMY_DATABASE_URI = 'mysql://root@localhost:3306/f_luntan?charset=utf8'
# 测试环境
class TestingConfig(Config):
TESTING = True
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'data-test.sqlite') # 生产环境
class ProductionConfig(Config):
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'data.sqlite') # 设置一个config 字典中,注册了不同的配置环境
config = {
'development': DevelopmentConfig,
'testing': TestingConfig,
'production': ProductionConfig,
'default': DevelopmentConfig
}
manage.py
# -*- coding: utf-8 -*-
from app import create_app, db
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand app = create_app('default')
manager = Manager(app)
migrate = Migrate(app, db) manager.add_command('db', MigrateCommand) if __name__ == '__main__':
manager.run()
--------------这是分割线--------------
其它目录暂时都可以放在一边
进入app目录 cd app

该目录有点类似mvc模式
main:视图文件,错误导向,表单文件等
models:模型文件跟数据库挂钩(下面的models.py也是模型文件。可以放在外面,也可以放在这个文件夹里面看着标准些,位置不同只是导入的路径不一样)
static:静态文件js,img,css
templates:模板文件
然后接下来打开剩余的2个py文件
__init__.py
# -*- coding: utf-8 -*-
from flask import Flask
from flask_bootstrap import Bootstrap
from flask_mail import Mail
from flask_sqlalchemy import SQLAlchemy
from config import config bootstrap = Bootstrap()
mail = Mail()
db = SQLAlchemy() # 工厂函数
def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])
config[config_name].init_app(app) bootstrap.init_app(app)
mail.init_app(app)
db.init_app(app) #注册蓝本
from .main import main as main_blueprint
app.register_blueprint(main_blueprint) return app
很多需要安装的库安上去
models.py 模型文件,我没放在models文件夹里面,也可以放在里面,改变下导入的路径即可
from app import db class User(db.Model):
__tablename__ = 'users' id = db.Column(db.Integer, primary_key=True)
UserCode = db.Column(db.String(64), unique=True, index=True)
Password = db.Column(db.String(128)) def __init__(self, UserCode=None, Password=None):
self.UserCode = UserCode
self.Password = Password def __repr__(self):
return '<User %r>' % self.UserName
建了个测试表
------------------------这是分割线----------------------
进入main文件夹 cd main

__init__.py
# -*- coding: utf-8 -*-
from flask import Blueprint
main = Blueprint('main', __name__)
from . import views, errors
errors.py
# -*- coding: utf-8 -*-
from flask import render_template
from . import main @main.app_errorhandler(404)
def page_not_found(e):
return render_template('404.html'), 404 @main.app_errorhandler(500)
def internal_server_error(e):
return render_template('500.html'), 500
设置错误配置,引入的文件是templates文件夹的404.html
form.py null 还没有添加内容
views.py 视图文件
# -*- coding: utf-8 -*-
from flask import render_template, session, redirect, url_for, current_app
from .. import db
from ..models import User
from . import main @main.route('/', methods=['GET', 'POST'])
def index():
return render_template('index.html')
新建了一个index路由,模板为视图文件的index.html,如果刚刚的models.py放在models文件夹里面,from ..models import User 就需要修改,你懂得。
----------------------这是分割线-------------
退出main文件 cd .. 进入static文件 cd static

如图,这个就不要解释了,做网站如果对这些不了解就很尴尬了。
----------------------这是分割线-------------
退出static文件 cd .. 进入templates文件 cd templates
如图,全是html

---------------------------------这就是大致目录-------------------------------
--------开始测试可不可以运行,这样才能开始搞啊
---------cmd执行下 进入manage.py 目录 运行 python manage.py runserver


看吧很多库没安装好,很伤啊,pip下。
把所有库都完毕后再运行

打开127.0.0.1:5000

有点乱了,html问题,总之测试ok了。。。我也要开始搞了,先把静态页面搞定,下次继续说相关的功能。
flask-日料网站搭建的更多相关文章
- flask-日料网站搭建-数据库操作
引言:想使用python的flask框架搭建一个日料网站,主要包含web架构,静态页面,后台系统,交互,目前已经copy完主页,不是前端太慢太慢. 本节知识:数据库的操作,模型建表,更新数据库. py ...
- flask-日料网站搭建-ajax传值+返回json字符串
引言:想使用python的flask框架搭建一个日料网站,主要包含web架构,静态页面,后台系统,交互,今天教大家实现ajax操作,返回json. 本节知识:jquery,json,ajax pyth ...
- flask-日料网站搭建-后台登录
引言:想使用python的flask框架搭建一个日料网站,主要包含web架构,静态页面,后台系统,交互,今天教大家实现后台登录功能,比较简单. 本节知识:表单标签,表单验证,数据查询,模板 pytho ...
- 简易漫画网站搭建-漫画喵Server版
小喵的唠叨话:寒假的时候写了一个漫画爬虫,爬取了好几个漫画,不过一直没有找到合适的漫画阅读的工具.因此最近就试着自己写一个漫画的网站,放在公网上或者局域网里,这样就能随时随地用手机.Pad看漫画了. ...
- [阿里云部署] Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器
部署地址:123.56.7.181 Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器 这个标题就比之前的"ECS服务器配置Web环境的全过程及参考资料&qu ...
- node.js express安装及示例网站搭建
1.首先肯定是要安装Node.JS windows cmd依次输入如下命令: cd C:\Program Files\nodejs\ npm install -g expressnpm install ...
- linux下网站搭建
我们知道windows网站搭建一般是:IIS+Asp+Sqlserver,而 linux网站搭建是:Apache+php+Mysql.两者之间个有千秋,但是为什么我们许多的门户网站搭建都选择linux ...
- Ubuntu下nginx+uwsgi+flask的执行环境搭建
选择web framwork是个非常艰难的事情, 主要分为轻量级和重量级框架. 因为没有搭建站点这样的须要, 所以回避SSH, Django这样的框架, 而选择一个轻量级框架. 自己也比較青睐pyth ...
- springMVC+angular+bootstrap+mysql的简易购物网站搭建
springMVC+angular+bootstrap+mysql的简易购物网站搭建 介绍 前端的css框架用了bootstrap, 以及bootstrap的JS组件, 以及很好用的angular(a ...
随机推荐
- jquery 自定义选择器
// HTML 代码 <body> <div id="divid1" class="divclass">白色</div> & ...
- 迭代var()内置函数的时候出现RuntimeError: dictionary changed size during iteration的解决办法
下午看了Mr Seven的教学视频,其中有一段讲全局变量的视频,迭代输出全局变量的时候报错了. 视频中的做法: for k,v in vars().items(): print(k) 打印结果 for ...
- scrapy里的selector,不能有正则提取
参考:http://blog.csdn.net/dawnranger/article/details/50037703 Selector 有一个 .re() 方法,用来通过正则表达式来提取数据. 不同 ...
- HBase shell 命令介绍
HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况.安装完HBase之后,如果配置了HBase的环境变量,只要在sh ...
- JSR系列开篇
JSR是Java Specification Requests的缩写,意思是Java 规范提案.是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求.任何人 ...
- 网口做trunk
首先发现这个服务器的两个网口对应的交换机端口 ailixin-asw2960>en ailixin-asw2960#terminal monitor 查看端口的状态 ailixin-asw296 ...
- Python 项目实践三(Web应用程序)第一篇
一 Djangao入门 当今的网站实际上都是富应用程序(rich application),就像成熟的桌面应用程序一样.Python提供了一组开发Web应用程序的卓越工具.在本章中,你将学习如何使用D ...
- ArcGIS API for Javascript 加载天地图(墨卡托投影)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 用python在excel中读取与生成随机数写入excel中
今天是我第一次发博客,就关于python在excel中的应用作为我的第一篇吧. 具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再 ...
- 最短的IE判断var ie=!-[1,]分析
以前最短的IE判定借助于IE不支持垂直制表符的特性搞出来的. 复制代码代码如下: var ie = !+"\v1"; 仅仅需要7bytes!参见这篇文章,<32 byte ...