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

news/2024/5/20 15:12:09/文章来源:https://blog.csdn.net/weixin_34082177/article/details/93451170

概述

使用Flask写的体育网站 包括(注册 论坛 文章评论 组建战队 后台管理)等功能 示例地址文中有写 萌新 请多指教

详细

代码下载:http://www.demodashi.com/demo/12380.html

项目示例地址: 网站演示

一、环境搭建

 

1. 安装配置python3.6

示例网站使用的是python 3.6.3

下载地址:https://www.python.org/downloads/release/python-363/

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

 

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 启动管理

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

QQ图片20180117104224.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')}});

注册页面大概长这样:

QQ图片20180117112006.png

弹窗使用了sweetalert2 :

QQ图片20180117110508.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邮箱设置如图:

QQ图片20180117113104.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安全协议 默认为FalseMAIL_USE_TLS = False# 发送邮件时使用SSL安全协议 默认为FalseMAIL_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

出现

QQ图片20180117113608.png

表示运行成功 然后打开 http://127.0.0.1:5000 即可

如图:

QQ图片20180117113747.png

 

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

 

 

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

代码下载:http://www.demodashi.com/demo/12380.html

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

 

转载于:https://www.cnblogs.com/demodashi/p/8491170.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_820653.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

北美程序员实用网站

2019独角兽企业重金招聘Python工程师标准>>> 刷题类 https://leetcode.comhttps://www.hackerrank.com 面试工具/代码协同 https://coderpad.io 在线预约 https://www.zoho.com/calendar 问答社区 https://piazza.com 培训机构 https://www.bittiger.io 免费课程 h…

《大型网站技术架构:核心原理与案例分析》读书笔记 - 第2篇 架构

第2篇 架构 4 瞬时响应&#xff1a;网站的高性能架构 34 4.1 网站性能测试 35 性能测试是性能优化的前提和基础&#xff0c;也是性能优化结果的检查和度量标准。 4.1.1 不同视角下的网站性能 35 用户&#xff1a;直观感受到的快慢开发&#xff1a;应用程序本身运维&#xff1a;…

ASP.NET : 如何为网站添加自定义的文件类型

我们知道&#xff0c;在ASP.NET网站中&#xff0c;默认页面的扩展名是aspx.要想实现在网站中提供特殊的文件类型&#xff0c;例如Test之类的,就可以考虑通过HttpHandler来实现。下面是一个小的例子 1. HttpHandlerusing System; using System.Collections.Generic; using Syste…

个人博客建站最全解析

大家好~又见面了。 今天呢我想给大家&#xff0c;也给我自己&#xff0c; 对我的个人网站yanyy.cn/yanyy 做一个全面的整理和分析。 也给有这方面想法的朋友一个参考。 做网站的有爱好也有带有目的性的。 不过我还是希望大家能够传播正能量~ 进入正题 网站首页 看到上图&#x…

网站列目录问题

1.用apache搭建好网站发现可以列目录 修改/etc/apache.conf 将此处Index删除掉保存重启apache即可 转载于:https://www.cnblogs.com/websecyw/p/10608848.html

[转] IIS 启动和停止单个网站

本文转自&#xff1a;http://technet.microsoft.com/zh-cn/library/cc775930(WS.10).aspx 默认情况下&#xff0c;站点将在计算机启动时自动启动。停止站点不会影响其他正在运行的 Internet 服务。暂停站点将禁止 Internet 服务接受新的连接&#xff0c;但不影响正在进行处理的…

关于onmouseover和onmouseout的bug

总结了一下关于使用onmouseover以及onmouseout会出现的bug 首先简单的布局&#xff1a; <div id"box"><div>这是一个内容</div> </div> 简单写了一下样式&#xff0c;效果如下&#xff1a; js代码如下&#xff1a; var oBox document.getEl…

Visual Studio 2010 网站发布方法 总结

Publish method &#xff1a; Web Deploy Service URL&#xff1a;localhost Site/application: /lm/w3svc/1/ROOT/MvcMusicStore 这样就能往本机的IIS发布。比VS2008的直观地往本机发布的方式&#xff0c;用户体验差多了。哎&#xff0c;哥们凑合用吧。 其他方法&#xff1a;&…

阿里云助力中小企业建站 在线免费自助建站成新用户首选

阿里云助力中小企业建站 在线免费自助建站成新用户首选 提供云计算服务的行业头部企业-阿里云&#xff0c;对于广大中小企业来说&#xff0c;应该都不陌生。在企业需要建设自己官方网站&#xff0c;或者个人需要建设个人网站时&#xff0c;一般都需要购买网站空间或者云服务器来…

大型网站技术架构(三)架构核心要素

2019独角兽企业重金招聘Python工程师标准>>> 所谓架构&#xff0c;一种通俗的说法就是“最高层次的规划&#xff0c;难以改变的决定”&#xff0c;这些规划和决定奠定了事物未来发展的方向和最终的蓝图。 而软件架构即“有关软件整体结构与组件的抽象描述&#xff0…

把腾讯微博般到自己网站

原文与代码下载地址&#xff1a;http://www.cckan.net/thread-461-1-1.html 代码很简单&#xff0c;大家看下面一串代码http://follow.v.t.qq.com/index.php?cfollow&aquick&namecsharpcckan&style3&f1 只要把csharpcckan换成你的微博用户名就行了。 在浏览器…

物理机访问虚拟机中搭建的网站的方法以及遇到的问题解决

环境描述&#xff1a; 物理机中没有搭建任何环境&#xff0c;将apache搭建在虚拟机&#xff08;vmware win7 x64&#xff09;中&#xff0c;使用wamp&#xff0c;apachemysql&#xff0c;使用物理机如何访问虚拟机中的php网页。 连通网络 首先我们要使物理机和虚拟机在一个内…

网站互点排名掉了网站互点排名掉了网站互点_如何快速提升网站排名?

想要快速提升网站排名是每个企业都想做的事情&#xff0c;特别是一些刚建立的新站&#xff0c;想要快速的被百度收录而达到有排名的效果。提升网站排名没有捷径可走&#xff0c;用其他的手法会使网站被K掉&#xff0c;这样得不偿失&#xff0c;还是要一步一步的来从基础开始提升…

layui关闭页面判断数据是否有修改_怎么检测网站是否被劫持,怎么检测网站是否被劫持,检测方法...

说到网站被劫持&#xff0c;很多站长并不陌生&#xff0c;也知道网站被劫持的危害&#xff0c;可如何查看判断网站是否被劫持及处理方法&#xff0c;是很多网站头疼的问题。那么如何才能知道自己的网站被劫持了呢&#xff1f;怎样检测网站被劫持也是一个很严峻的问题&#xff0…

如何观看一些被屏蔽的网站_如何做好网站优化排名技巧有哪些?

网站优化是网站建设之后的工作&#xff0c;并且对整个网站有非常重要的作用。做网站优化排名是一个攻坚战&#xff0c;那如何做好网站优化排名技巧有哪些呢?今天久格科技为大家科普下如何做好网站优化排名技巧有哪些呢?如何做好网站优化排名技巧有哪些呢?1、做好网站关键词定…

开源免费的网站---编程绘图

https://www.echartsjs.com/index.html-------开源免费的网站---编程绘图

wordpress 父菜单_网站如何添加导航菜单?只需wp_list_categories就可搞定

在前面的章节中&#xff0c;我们介绍了基于page页面的wordpress网站导航菜单的函数——wp_list_pages()。今天&#xff0c;我们再来介绍第二种导航菜单的方式——基于wordpress网站的文章分类目录的导航菜单&#xff0c;这种wordpress导航菜单是通过wp_list_categories()函数来…

大型网站技术架构(八)网站的安全架构

2019独角兽企业重金招聘Python工程师标准>>> 从互联网诞生起&#xff0c;安全威胁就一直伴随着网站的发展&#xff0c;各种Web攻击和信息泄露也从未停止。常见的攻击手段有XSS攻击、SQL注入、CSRF、Session劫持等。 1、XSS攻击 XSS攻击即跨站点脚本攻击&#xff08;…

06年5月22日Mobile Open-day活动在湖南大学举办(微软网站上的新闻,附图中有我:) )...

06年5月22日Mobile Open-day活动在湖南大学举办(微软网站上的新闻&#xff0c;附图中有我&#xff1a;) ) 有奖问答&#xff0c;下列几张图片中&#xff0c;我在哪个位置&#xff1f;原文地址&#xff1a;http://www.winbile.net/Detail.aspx?D260,1111730,787,2706年5月22日M…

jQuery绿色下拉网站导航

jQuery,下拉菜单,网站导航,绿色导航,菜单导航,jQuery绿色下拉网站导航是一款基于jquery实现的鼠标滑过下拉显示二级菜单. jquery特效代码&#xff1a;http://www.huiyi8.com/jiaoben/转载于:https://www.cnblogs.com/xkzy/p/4148230.html