基于Django的个性化股票交易管理系统

本项目基于Python3.6、Django2.1、MySql8.0(最好不要使用5.6,字符集等方面均不兼容,否则导入数据库会出错)与股票信息工具包TuShare实现。

创建或激活对应Python开发环境
这里使用了conda来管理环境,强烈推荐,避免不同环境包干扰、依赖的问题。

$ conda activate Webdev
(Webdev)$

或者

$ conda create -n Webdev python=3.6
$ conda activate Webdev
(Webdev)$
安装所需要的依赖包
pip install -r requirements.txt
本项目依赖的核心包有:Django 2.1.15与tushare pro,前者作为主要开发框架,后者是爬取股票数据的核心包。tushare需要依赖pandas等包,用于数据分析和处理。 my-fake-useragent用于生成伪请求头,爬取相应的新闻数据。 django-mptt用于生成树形多级评论。

创建对应数据库(stocktrading)和用户(trading)
create database stocktrading;
create user ‘trading’@‘localhost’ identified by trading;
grant all privileges on stocktrading to ‘trading’@‘localhost’;
flush privileges;
执行迁移命令,创建模型数据表映射
改命令会根据models.py文件中定义的模型创建数据表结构(无数据)。

$ python manage.py makemigrations
$ python manage.py migrate
将config/下的sql文件导入数据库中
在mysql环境中执行,会将stocktrading.sql中定义的表结构和数据全部导入。

use stocktrading;
source stocktrading.sql;
开始运行和测试
python manage.py runserver
打开localhost:8000端口即可查看应用。

运行情况
登录界面
login
在这里插入图片描述
在这里插入图片描述

可以点击上方注册按钮注册。

注册页面
register
在这里插入图片描述

输入相应信息即可完成注册。 但是考虑到已经导入数据库sql文件,那么数据库中应该有了相当数量可以直接登录的用户。可以任取一个进行测试。

username: 10071539640 password: 65815609

用户首页
index1index2
在这里插入图片描述
在这里插入图片描述

首页可以分为4个模块,传递的信息也是比较的丰富。分别是:

热门牛股:根据每天的股票收盘价格和次日的开盘价格计算差值和涨幅,按照涨幅进行排序得到的前10只热门牛股;
重大新闻:管理员自己发布或者通过爬虫获取到东方财富网上刊登的重大新闻简要信息,筛选后推荐给用户。可以点击换一波瞅瞅查看更多其他感兴趣的新闻资讯。有可以点击新闻标题进入新闻详情。
看大盘模块:展示了通过tushare模块抓取的上证指数变化情况。
我的评论模块:展示了我(该登录用户)近期所发布的对股票的评论信息。也可以点击评论标题进入评论详情。
左侧的控制菜单面板,可通过该面板进入其他模块进行管理。
个人信息管理
myprofile
在这里插入图片描述

点击左侧用户信息或者上方导航栏的头像,可以进入用户信息界面,在此查看个人信息,并可以进行修改。若修改需要输入密码并确认密码。

点击修改头像可以修改头像。

change_avatar
在这里插入图片描述

查看股票列表
stock_list
在这里插入图片描述

点击左侧股票列表即可查看股票列表,采用了DataTable组件进行列表展示。其中红色表示股价上涨的股票, 绿色表示下跌的股票。用户可以点击详情页面进行查看股票详情。

股票详情
stock_detailstock_detail2
在这里插入图片描述
在这里插入图片描述

用户在此页面可以进行买入操作,也可以查看返回到上级页面查看股票列表。 左上方图表显示了这支股票的股价变化日K线图与实时股价,右侧是该股票的股权占比,均是通过tushare 提供接口进行抓取获得的。

下方是关于股票的评论信息,同时用户可以发表自己关于这支股票的评论信息。

管理我的股票
mystock_list
在这里插入图片描述

点击管理我的股票,即可查看已经购入的股票列表。 点击详情页面,进入抛售股票页面。

out_stock
在这里插入图片描述

管理我的评论
mycomment
在这里插入图片描述

点击管理我的评论,即可查看我已经发表过的评论信息。

详情页面可以查看所有对评论的回复信息,同时自己也可以回复自己的评论。

mycomment_detail。
在这里插入图片描述

点击回复评论的用户名,可以查看该用户的详细信息,也可以为他(她)点赞。

other_profile

同时用户可以在我的评论列表将评论删除。

查看新闻详情
view_news
在这里插入图片描述

点击新闻标题,可以进入新闻的详情页面。可以在这个页面点击查看上一条或者下一条新闻。

管理员首页
可以使用如下命令创建管理员:
在这里插入图片描述

python manage.py createsuperuser
提示输入用户名,邮箱与密码, 这里依次输入superuser1,空,superuser1。
在这里插入图片描述

这样就可以以超级管理员身份登录后台了。

super_index1super_index

管理员界面与用户界面大同小异,只是内容更加丰富了一些。

用户信息管理
点击左侧用户信息管理进入用户信息管理详情页面。可以看到全部用户列表。
在这里插入图片描述

adm_user

点击详情进入用户信息详情。
在这里插入图片描述

adm_user_detail

在此界面,管理员可以修改部分用户的信息,不包括密码。管理员可以冻结用户的账号,使其 无法参与股票交易,管理员也可以删除用户。

管理股票列表
adm_stock_list
在这里插入图片描述
在这里插入图片描述

adm_stock_detail

管理交易记录
adm_trading_list
在这里插入图片描述

股票信息维护
upholdupdate
在这里插入图片描述

在此界面,管理员可以点击面板上的按钮,进行每天股票信息的维护操作。
在这里插入图片描述

点击更新实时数据按钮后,可以在控制台看到数据库更新的打印信息。

新闻管理
adm_news
在这里插入图片描述

在新闻管理页面,管理员可以添加新闻信息,也可以使用爬虫工具自动获取一些新闻信息,当然也可以进入新闻 页面的详情,对新闻的信息进行编辑或删除。

评论管理
adm_comment
在这里插入图片描述

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

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

相关文章

超越GPT-4?下一代大模型的技术突破与挑战

超越GPT-4?下一代大模型的技术突破与挑战 引言:大模型的演进历程 人工智能领域近年来最引人注目的发展莫过于大型语言模型(Large Language Models, LLMs)的快速进步。从GPT-3到GPT-4,再到如今各种宣称"超越GPT-4"的模型不断涌现&…

Js 之点击下拉搜索Ajax-Bootstrap-Select

一、效果图 二、文档 https://gitcode.com/gh_mirrors/aj/Ajax-Bootstrap-Select/tree/master 三、示例代码 引入插件js、css <link rel"stylesheet" href"{php echo MODULE_URL}template/lib/bootstrap-select/css/bootstrap-select.min.css"> <…

无线监控系统分类全解析:搭配视频融合平台EasyCVR开启高效监控

随着技术的发展&#xff0c;无线监控系统在家庭、小型企业、特定行业以及室外恶劣环境中的应用越来越广泛。本文将介绍几种常见的无线监控系统&#xff0c;分析其优缺点&#xff0c;并结合EasyCVR视频融合平台的功能&#xff0c;探讨如何优化无线监控系统的性能和应用。 一、主…

WebRTC服务器Coturn服务器中的通信协议

1、概述 作为WebRTC服务器&#xff0c;coturn通信协议主要是STUN和TURN协议 STUN&TURN协议头部都是20个字节,用 Message Type来区分不同的协议 |------2------|------2------|------------4------------|------------------------12-------------------------|-----------…

Vue Transition 组件详解:让元素动起来

文章目录 一、为什么需要 Transition 组件&#xff1f;二、核心工作原理三、基础用法&#xff1a;6个过渡类名四、进阶用法五、 JavaScript 钩子函数六、过渡模式&#xff08;Mode&#xff09;七、列表过渡&#xff08;TransitionGroup&#xff09;八、与第三方动画库结合&…

【Redis】有序集合类型Sortedset 常用命令详解

此类型和 set 一样也是 string 类型元素的集合&#xff0c;且不允许重复的元素 不同的是每个元素都会关联一个double类型的分数&#xff0c;redis正是通过分数来为集合中的成员进行从小到大的排序 有序集合的成员是唯一&#xff0c;但分数(score)却可以重复 1. zadd - 添加 语法…

微信小程序 van-dropdown-menu

点击其他按钮&#xff0c;关闭van-dropdown-menu下拉框 DropdownMenu 引入页面使用index.wxmlindex.scssindex.ts(重点)index.ts(全部) DropdownMenu 引入 在app.json或index.json中引入组件 "usingComponents": {"van-dropdown-menu": "vant/weapp…

C 语言内存分配方法及优缺点

在 C 语言开发中&#xff0c;内存分配的方式主要有三种&#xff1a;静态内存分配、栈内存分配和堆内存分配。每种分配方式都有其独特的特点、适用场景以及优缺点。 静态内存分配 静态内存分配是在编译时就确定好内存的分配&#xff0c;它主要用于定义全局变量和静态局部变量。…

第二大脑-个人知识库

原文链接:https://i68.ltd/notes/posts/20250407-llm-person-kb/ Quivr-第二大脑一样的个人助手&#xff0c;利用AI技术增强个人生产力 将 GenAI 集成到您的应用程序中的个性化 RAG,专注于您的产品而非 RAG项目仓库:https://github.com/QuivrHQ/quivr Star:37.7k官网:https:/…

A. Ambitious Kid

time limit per test 1 second memory limit per test 256 megabytes Chaneka, Pak Chaneks child, is an ambitious kid, so Pak Chanek gives her the following problem to test her ambition. Given an array of integers [A1,A2,A3,…,AN][A1,A2,A3,…,AN]. In one o…

SQL进阶知识:八、性能调优

今天介绍下关于性能调优的详细介绍&#xff0c;并结合MySQL数据库提供实际例子。 性能调优是数据库管理中的一个重要环节&#xff0c;尤其是在处理高并发和大数据量的应用场景时。MySQL提供了多种工具和方法来优化数据库性能。以下是关于MySQL性能调优的详细介绍&#xff0c;以…

NVLink、UALink 崛起,PCIe Gen6 如何用 PAM4 迎战未来?

现在数字经济发展地相当快速&#xff0c;像Cloud、现在火红的AI、大数据这些新技术都需要在数据中心里运行更多运算&#xff0c;伴随而来的是更快的数据传输速度的需求。 在数据中心&#xff0c;有很多条数据传输路径&#xff0c;举例 &#xff1a; Server 和Storage之间&…

Jenkins流水线管理工具

文章目录 前言&#xff1a; DevOps时代的自动化核心 —Jenkins一、Jenkins是什么&#xff1f;二、Linux安装Jenkinswar包方式安装依赖环境下载 Jenkins WAR 包启动 Jenkins 服务启动日志验证配置插件镜像源 docker镜像方式安装依赖环境拉取 Jenkins 镜像运行 Jenkins 容器获取初…

Spring @Transactional 自调用问题深度解析

Spring Transactional 自调用问题深度解析 问题本质&#xff1a;自调用事务失效 当类内部的方法A调用同一个类的另一个带有Transactional注解的方法B时&#xff0c;事务注解不会生效。这是因为Spring的事务管理是基于AOP代理实现的&#xff0c;而自调用会绕过代理机制。 原理…

【爬虫工具】2025微博采集软件,根据搜索关键词批量爬帖子,突破50页限制!

文章目录 一、背景分析1.1 开发背景1.2 软件界面1.3 结果展示1.4 软件说明 二、主要技术2.1 模块分工2.2 部分代码 三、使用介绍3.0 填写cookie3.1 软件登录3.2 采集wb帖子 四、演示视频五、软件首发 本工具仅限学术交流使用&#xff0c;严格遵循相关法律法规&#xff0c;符合平…

java函数式接口与方法引用

函数式接口指的是&#xff0c;一个interface&#xff0c; 只含有一个抽象方法。函数式接口可以加上FunctionalInterface注解&#xff0c;加上这个注解后编译器会检查接口是否满足函数式接口的规范&#xff0c;不满足规范则直接编译不过。 典型的内置函数式接口有Runnable‌、…

uniapp开发04-scroll-view组件的简单案例

uniapp开发04-scroll-view组件的简单案例&#xff01;废话不多说&#xff0c;我们直接上代码分析。 <!--演示scroll-view组件效果--><scroll-view class"scroll" scroll-x><view class"group"><view class"item">111&l…

硬件须知的基本问题1

目录 1. 电路表示中的电压源表示符号有哪些&#xff1f; 2&#xff0e;查找电路表示中的电流源表示符号有哪些&#xff1f; 3&#xff0e;上拉电阻和下拉电阻的作用是什么&#xff1f; 4&#xff0e;0 欧姆电阻在电路中有什么作用&#xff1f; 5&#xff0e;电容的耦合…

Vue回调函数中的this

2025/4/25 向 示例 一个例子——计数器&#xff0c;通过this来操作数据。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.…

一键快速转换音频视频格式的实用工具

软件介绍 Sundy音视频格式转换工具&#xff0c;支持一键转换音频和视频格式&#xff0c;还可以集成至右键菜单&#xff0c;让操作更加便捷。软件支持MP4、FLV、AVI、MKV、MP3、FLAC等多种格式转换&#xff0c;用户可以根据需求自由选择。 直白版 Sundy音视频格式转换工…