python实现实例_基于Python-Flask实现的网站例子

项目示例地址: 网站演示

一、环境搭建

1. 安装配置python3.6

示例网站使用的是python 3.6.3

根据自己的系统选择相应的版本

2. 使用pip 安装环境 (最好能使用virtualenv创建虚拟环境)

例(没有使用虚拟环境):

命令行进入网站根目录 就是放有 requirements.txt(内涵所有需要的库、包括flask)文件的地方 运行:pip3 install -r requirements.txt

等待安装完成

二、项目结构以及程序实现

1.项目结构

说明:

admin 后台登录表单以及后台管理视图

api 大部分的借口函数

auth 用户登陆视图管理

main 网站主体部分视图管理以及表单

static 静态文件存放点

templates html文件以及基础模版

email.py email操作相关函数

models.py 数据库相关操作

config.py 网站设置

manage.py 启动管理

呃……里面有些奇怪的文件(自我记录)不要在意 具体如图:

1516156657935096698.png

2. 程序实现

挑选部分代码进行说明:

前后端交互 使用ajax发送表单内容 提交给后台接口 根据返回内容作出相应处理$.ajax({

type: "POST",

url: "{{ url_for('api.register') }}",

data: json_data,

dataType: 'json',

contentType: 'application/json',

success: function (data) {

if (data.result === 'ok'){

swal({

title: '注册成功,一封确认邮件已发往您的邮箱!',

type: 'success',

text: '请登录后前往邮箱进行验证! 3秒后自动跳转到首页',

timer: 3000,

showConfirmButton: false

}).catch(function () {

window.location.href =

"{{ url_for('auth.register_ok') }}"

});

}

else {

swal('错误','注册失败!请联系单位工作人员!', 'error')

}

},

error: function () {

swal('错误','注册失败!请联系单位工作人员!', 'error')

}

});

注册页面大概长这样:

1516158882125046676.png

弹窗使用了sweetalert2 :

1516157982832011809.png

后台处理:@api.route('/register', methods=['POST'])

def register():

"""用户注册"""

# 检查管理员是否已经注册

if User.query.get(999) is None:

User.default_user()

# 接收前台传来的josn数据

json_data = request.get_json()

if json_data is not None:

# 注册用户

user = User.from_json(json_data)

db.session.add(user)

db.session.commit()

# 登陆

login_user(user)

# 生产验证码并发送链接到邮箱

token = user.generate_confirmation_token()

send_email(user.email, '确认你的账户', 'auth/email/confirm', user=user,

token=token)

return jsonify({'result': 'ok'})

return jsonify({'result': 'error'})

三、运行前配置以及本地运行测试

使用编辑器(本人用的是pycharm)打开config.py文件 进行配置 其中

邮箱跟密码必须修改 而且要打开该邮箱的smtp服务 139邮箱设置如图:

1516159537709034168.png

os.environ.get('xxx') 是从环境变量中取出相应的信息 配置服务器时可以在服务器上设置相应的环境变量class Config:

"""基础配置,导入所有配置中"""

# 密匙 加密用 修改SecretKey为自己想用的即可

SECRET_KEY = os.environ.get('SECRET_KEY') or "SecretKey"

# 数据库自动提交数据

SQLALCHEMY_COMMIT_ON_TEARDOWN = True

# 如果设置成 True (默认情况),Flask-SQLAlchemy 将会追踪对象的修改并且发送信号。

# 这需要额外的内存, 如果不必要的可以禁用它。

SQLALCHEMY_TRACK_MODIFICATIONS = True

# 查询耗时过长的时间

SLOW_DB_QUERY_TIME = 0.5

# 可以用于显式地禁用或者启用查询记录

SQLALCHEMY_RECORD_QUERIES = True

# 邮件主题前缀

MAIL_SUBJECT_PREFIX = '<平顶山浩瀚体育>'

# 寄件人名称

MAIL_SENDER = '平顶山浩瀚体育 <你的邮箱@test.com>'

# 邮箱端口号

MAIL_PORT = 465

# 139邮箱smtp服务器地址

MAIL_SERVER = 'smtp.139.com'

# 发送邮件时使用TLS安全协议 默认为False

MAIL_USE_TLS = False

# 发送邮件时使用SSL安全协议 默认为False

MAIL_USE_SSL = True

# 发送邮件所用的邮箱用户名以及密码

MAIL_USERNAME = os.environ.get('MAIL_USERNAME') or '你的邮箱@test.com'

MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') or '你的邮箱密码'

# 管理员邮箱

ADMIN_MAIL = os.environ.get('ADMIN_EMAIL') or '你的邮箱@test.com'

# 管理员账号 默认为admin 可修改 第一次运行时会注册

ADMIN_USERNAME = os.environ.get('ADMIN_USERNAME') or 'admin'

# 管理员密码 默认为admin 可修改 第一次运行时会注册

ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD') or 'admin'

# SSL安全协议开关 False会打开

SSL_DISABLE = True

# 禁止转换asc码

JSON_AS_ASCII = False

# 存储图片的位置

# windows用'app\static\image' linux用'app//static//image' 或自定义

UPLOAD_FOLDER = 'app//static//image'

# 分页设置 每页显示数量

POSTS_PER_PAGE = 15

配置完成后进入网站根目录、打开命令行运行:

python manage.py deploy

等待运行结束后 输入

python manage.py runserver --threaded

出现

1516159843266033992.png

如图:

1516159942840017703.png

网站后台入口地址: http://127.0.0.1:5000/manage 用户名跟密码在config.py中设置

萌新所做 望各位大佬多多指点 有bug或者其他问题请反馈 谢谢了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面来编写一个基于 Flask 的小网站。这个网站将会有一个主页和一个联系页面。 首先,需要安装 Flask。在命令行中输入以下命令: ``` pip install flask ``` 接着,在你的项目文件夹中创建一个名为 `app.py` 的 Python 文件,并按照以下步骤进行编写。 第一步,导入 Flask 模块和其他需要的模块。可以使用以下代码: ```python from flask import Flask, render_template, request ``` 第二步,创建 Flask 应用程序实例使用以下代码: ```python app = Flask(__name__) ``` 第三步,定义主页路由和视图函数。使用以下代码: ```python @app.route('/') def index(): return render_template('index.html') ``` 这个视图函数将会渲染 `index.html` 模板并返回它的内容。 第四步,定义联系页面路由和视图函数。使用以下代码: ```python @app.route('/contact', methods=['GET', 'POST']) def contact(): if request.method == 'POST': email = request.form['email'] message = request.form['message'] # 将电子邮件和消息发送到你的收件箱 return 'Thank you for your message!' else: return render_template('contact.html') ``` 这个视图函数处理 GET 和 POST 请求。如果请求是 GET,它将会渲染 `contact.html` 模板并返回它的内容。如果请求是 POST,它将会从表单中获取电子邮件和消息的内容,并将它们发送到你的收件箱。 第五步,编写模板。在你的项目文件夹中创建一个名为 `templates` 的文件夹,并在其中创建两个名为 `index.html` 和 `contact.html` 的模板文件。 这里提供一个简单的 `index.html` 模板作为示例: ```html <!DOCTYPE html> <html> <head> <title>My Website</title> </head> <body> <h1>Welcome to my website!</h1> <p>Here you can find information about me and my work.</p> </body> </html> ``` 这是一个简单的 `contact.html` 模板作为示例: ```html <!DOCTYPE html> <html> <head> <title>Contact Me</title> </head> <body> <h1>Contact Me</h1> <form method="POST"> <label for="email">Email:</label> <input type="email" id="email" name="email" required><br><br> <label for="message">Message:</label> <textarea id="message" name="message" required></textarea><br><br> <input type="submit" value="Send"> </form> </body> </html> ``` 第六步,运行应用程序。在命令行中输入以下命令: ``` python app.py ``` 这将会运行 Flask 应用程序并在本地主机的默认端口上启动它。在浏览器中访问 `http://127.0.0.1:5000/` 将会显示主页,访问 `http://127.0.0.1:5000/contact` 将会显示联系页面。 这就是一个简单的基于 Flask网站的示例。你可以根据自己的需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值