所在位置:
首页 >
营销资讯 >
网站运营 > 用Python Flask Web框架搭建自己的网站
用Python Flask Web框架搭建自己的网站
时间:2023-07-11 14:48:01 | 来源:网站运营
时间:2023-07-11 14:48:01 来源:网站运营
用Python Flask Web框架搭建自己的网站:
PART ONE 项目简介
本项目是基于Flask搭建前后端不分离的新闻类资讯网站,可以自己个性化定位网站的类型,因为来回都是这样的套路。
用户端功能实现
- 注册登录(需要手机验证码验证)
- 新闻详情查看
- 新闻评论、点赞、收藏
- 个人中心的基本信息、头像、密码设置与修改
- 查看关注的作者以及取消关注
- 查看收藏的文章以及取消收藏
- 发布自己撰写的新闻文章
- 查看自己发布的新闻文章
服务端功能实现
用户管理
- 用户统计(数据可视化展示)
- 用户查看(支持搜索查看用户基本信息)
新闻管理
- 新闻审核,支持状态筛选对用户发布的新闻进行审核
- 新闻编辑,对已发布的新闻进行二次编辑
- 新闻分类,对主页展示的新闻类别进行管理(增删改)
网站视频效果展示
具体网站效果可见下面的演示视频
https://www.zhihu.com/video/996138537342857216PART TWO 跟着操作自己把网站跑起来
项目相关资源获取
本项目使用到的前端文件以及测试数据等材料请到微信公众号Python孙行者回复“Flask搭建网站”获取即可。
开发环境
- 操作系统:Ubuntu16.04
- 数据库:MySQL Redis
- IDE软件:PyCharm
- Python版本:Python3版本
- 注册认证七牛云(存储头像图片等)和容联云通讯(发送短信验证码)
- 虚拟环境创建
- 上面的的1-4的配置环境请渎者自行安装,安装期间遇到不会的多多找谷歌和度娘,培养自我解决问题的能力。
- 因为本项目用户头像是放在云存储上的,所以需要使用到千牛云存储(传送门)(有免费10G空间)的服务,短信发送功能使用容联云通讯(传送门)提供的服务(有赠送8元余额在里面,测试发送短信功能成功没问题后,可以直接把发送短信功能注释掉,后台打印输出就好,以免产生不必要的费用),请读者自行注册以及实名认证。虚拟环境创建可参考下面:
虚拟环境创建
虚拟环境的重要性就不必多说了。因为每个项目的依赖模块会不一样,需要为项目提供一个独立的环境,互不影响各个项目的开发环境,更是为了更好的调试。
依次执行以下代码:
- sudo apt install virtualenv
- sudo apt install virtualenvwrapper
- which python3 # 查看Python3 的路径
mkvirtualenv -p /usr/bin/python3 News_Website - -p /usr/bin/python3 指定Python版本为Python3版本
- 创建一个名为News_Website的虚拟环境,以后开发都在这个环境下进行
* workon 虚拟环境名称 :进入虚拟环境 * deactivate :退出虚拟环境
启动网站试一试,体验一下下
记得,所有操作都在虚拟环境News_Website下进行
- Python孙行者后台回复"Flask搭建网站"获取资源
- 解压News_Websites_Project压缩包,找到News_Website(final)文件夹,在Pycharm中打开News_Website(final),解释器选择前面创建的虚拟环境News_Website;
- 修改信息
- 把自己七牛云和云通讯的token等接口信息填写到以下文件的# TODO 处
News_website(final)/info/constants.py
News_website(final)/info/utils/image_storge.py
News_website(final)/info/utils/yuntongxun/sms.py - 把config.py中的数据库的访问密码"mysql"修改为自己数据库root的访问密码
- 打开Pycharm Terminal终端(在左下角靠中的位置),批量安装需要用到的相关Python模块
- 下面我们先在MySQL创建数据库,打开系统终端,运行以下命令
进入数据库: mysql -uroot -p 创建数据库: create database news_website charset=utf8;
- 创建数据库里的表,在Pycharm Terminal依次输入以下三条命令即可
* python manager.py mysql init * python manager.py mysql migrate -m "initialize database" * python manager.py upgrade
- 往数据库添加测试数据,进入MySQL的news_website数据库,先添加分类,在添加新闻
* use news_website; * source information_info_category.sql的文件路径; * source information_info_news.sql的文件路径;
- 使用脚本创建管理员账号,在Pycharm Terminal输入以下命令:
python manager.py create_super_user -n admin -p admin
- 运行网站,在Pycharm中双击打开manager.py,点击右上角的manager.py的下拉按钮,选择edit configuration, 在parameter处填写‘runserver’,保存后,在右侧空白地方右击,选择运行
- 在浏览器的网址栏输入以下网址,体验一把
- 网站首页:127.0.0.1:5000
- 管理后台:127.0.0.1:5000/admin/login
PART THREE 尽情折腾
参照final完成版,对 待开发版 尽情折腾
在折腾中遇到问题,欢迎到Python孙行者后台发送您遇到的问题,请带上error截图以便快速定位错误,一起学习进步.
基础知识要求
需要基本具备以下的前后端知识:
前端知识
√HTML:页面结构
√CSS:页面表现:元素大小、颜色、位置
√JavaScript:页面行为(这里使用JQuery的ajax进行数据交互)
√Jinja2模板引擎:渲染HTML页面
后端知识
√Python:项目基础语言
√数据库:MySQL(存储永久性数据),Redis(存放cookie,session数据)
√Flask:项目框架,对蓝图有一定的了解
前端知识掌握程度需要能看懂实现什么功能,有个大概就行,本项目直接提供前端代码源码,通过本项目你肯定可以掌握的这些知识的.
敲到后面就会感觉越来越容易了,看到自己一步步搭建的网站跑起来了,成就感涌上心头啊.
在学习过程中遇到问题或者发现可以改善的地方,欢迎大家在Python孙行者后台留言,一起学习进步.