当前位置: 首页 > news >正文

老板让做公司网站设计pc网站运营

老板让做公司网站设计,pc网站运营,印刷企业网站模板,建e网3d模型库图#xff1a; 股票自选助手 这是一个基于 Django 开发的 A 股自选股票信息查看系统。系统使用 akshare 库获取实时股票数据#xff0c;支持添加、删除和更新股票信息。 功能特点 支持添加自选股票实时显示股票价格和涨跌幅一键更新所有股票数据支持删除不需要的股票使用中… 图 股票自选助手 这是一个基于 Django 开发的 A 股自选股票信息查看系统。系统使用 akshare 库获取实时股票数据支持添加、删除和更新股票信息。 功能特点 支持添加自选股票实时显示股票价格和涨跌幅一键更新所有股票数据支持删除不需要的股票使用中国时区显示更新时间支持简体中文界面 技术栈 Python 3.8Django 5.0.1akshareA股数据获取Bootstrap 5.1.3前端界面SQLite数据存储 安装步骤 克隆项目到本地 git clone [项目地址] cd stock_tracker 创建并激活虚拟环境可选但推荐 python -m venv venv # Windows venv\Scripts\activate # Linux/Mac source venv/bin/activate 安装依赖包 pip install django akshare pandas 初始化数据库 python manage.py migrate 启动开发服务器 python manage.py runserver 访问系统 打开浏览器访问 http://127.0.0.1:8000 使用说明 添加股票 在输入框中输入股票代码支持以下格式 直接输入代码600519系统会自动判断沪深市场带后缀格式 上证股票600519.SS深证股票000001.SZ 点击添加按钮将股票添加到自选列表 更新股票数据 点击更新价格按钮可以一次性更新所有股票的最新数据系统会显示更新成功和失败的股票数量 删除股票 点击每个股票行右侧的删除按钮可以将股票从自选列表中移除 项目结构 stock_tracker/ ├── manage.py ├── stock_tracker/ # 项目配置目录 │ ├── __init__.py │ ├── settings.py # 项目设置 │ ├── urls.py # URL配置 │ └── wsgi.py └── stocks/ # 股票应用目录├── __init__.py├── models.py # 数据模型├── views.py # 视图函数├── urls.py # 应用URL配置└── templates/ # 模板文件└── stocks/└── stock_list.html 开发说明 数据模型 Stock 模型包含以下字段 symbol: 股票代码name: 股票名称current_price: 当前价格change_percent: 涨跌幅last_updated: 最后更新时间 主要视图函数 stock_list: 显示股票列表add_stock: 添加新股票remove_stock: 删除股票update_prices: 更新股票价格 注意事项 时区设置 系统使用中国时区 (Asia/Shanghai)所有时间显示均为本地时间 数据更新 使用 akshare 获取实时数据支持批量更新所有股票 错误处理 系统会显示详细的错误信息包含股票代码格式提示 维护和更新 数据库备份 定期备份 SQLite 数据库文件 依赖更新 定期检查并更新依赖包特别注意 akshare 的更新 代码 stocks\models.py from django.db import modelsclass Stock(models.Model):symbol models.CharField(max_length10, uniqueTrue)name models.CharField(max_length100)current_price models.DecimalField(max_digits10, decimal_places2, nullTrue)change_percent models.DecimalField(max_digits5, decimal_places2, nullTrue)last_updated models.DateTimeField(auto_nowTrue)def __str__(self):return f{self.symbol} - {self.name}stocks\views.py from django.shortcuts import render, redirect from django.contrib import messages from .models import Stock import akshare as ak from datetime import datetime import pandas as pddef stock_list(request):stocks Stock.objects.all().order_by(symbol)return render(request, stocks/stock_list.html, {stocks: stocks})def add_stock(request):if request.method POST:symbol request.POST.get(symbol, ).upper()try:# 处理股票代码格式if symbol.endswith(.SZ):code symbol.replace(.SZ, )market szelif symbol.endswith(.SS):code symbol.replace(.SS, )market shelse:code symbolmarket sh if code.startswith(6) else sz# 获取实时行情stock_info ak.stock_zh_a_spot_em()stock_data stock_info[stock_info[代码] code]if stock_data.empty:messages.error(request, f找不到股票 {symbol} 的信息。请确保\n1. 股票代码格式正确\n2. 对于上证股票可以添加.SS后缀\n3. 对于深证股票可以添加.SZ后缀)return redirect(stock_list)# 获取第一行数据stock_row stock_data.iloc[0]stock_obj, created Stock.objects.get_or_create(symbolsymbol,defaults{name: stock_row[名称]})# 更新股票信息stock_obj.current_price float(stock_row[最新价])stock_obj.change_percent float(stock_row[涨跌幅])stock_obj.save()if created:messages.success(request, f成功添加股票 {symbol}{stock_row[名称]})else:messages.success(request, f成功更新股票 {symbol} 的信息)except Exception as e:messages.error(request, f添加股票时出错: {str(e)}\n建议\n1. 检查股票代码格式\n2. 确保网络连接正常)return redirect(stock_list)def remove_stock(request, symbol):try:stock Stock.objects.get(symbolsymbol)stock.delete()messages.success(request, f已删除股票 {symbol})except Stock.DoesNotExist:messages.error(request, f找不到股票 {symbol})return redirect(stock_list)def update_prices(request):success_count 0error_count 0stocks Stock.objects.all()try:# 获取所有A股实时行情stock_info ak.stock_zh_a_spot_em()for stock in stocks:try:# 处理股票代码格式if stock.symbol.endswith(.SZ):code stock.symbol.replace(.SZ, )elif stock.symbol.endswith(.SS):code stock.symbol.replace(.SS, )else:code stock.symbol# 查找对应的股票数据stock_data stock_info[stock_info[代码] code]if not stock_data.empty:stock_row stock_data.iloc[0]stock.current_price float(stock_row[最新价])stock.change_percent float(stock_row[涨跌幅])stock.save()success_count 1else:error_count 1except:error_count 1continueexcept Exception as e:messages.error(request, f更新价格时出错: {str(e)})return redirect(stock_list)if success_count 0:messages.success(request, f成功更新 {success_count} 支股票的价格)if error_count 0:messages.warning(request, f有 {error_count} 支股票更新失败)return redirect(stock_list)stocks\urls.py from django.urls import path from . import viewsurlpatterns [path(, views.stock_list, namestock_list),path(add/, views.add_stock, nameadd_stock),path(remove/str:symbol/, views.remove_stock, nameremove_stock),path(update/, views.update_prices, nameupdate_prices), ] stocks\templates\stocks\stock_list.html !DOCTYPE html html langzh headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0title自选股票/titlelink hrefhttps://cdn.jsdelivr.net/npm/bootstrap5.1.3/dist/css/bootstrap.min.css relstylesheet /head bodydiv classcontainer mt-4h1 classmb-4我的自选股票/h1{% if messages %}div classmessages{% for message in messages %}div classalert alert-{{ message.tags }}{{ message }}/div{% endfor %}/div{% endif %}!-- 添加新股票的表单 --div classcard mb-4div classcard-bodyh5 classcard-title添加新股票/h5form methodpost action{% url add_stock %} classrow g-3{% csrf_token %}div classcol-autoinput typetext namesymbol classform-control placeholder输入股票代码 required/divdiv classcol-autobutton typesubmit classbtn btn-primary添加/button/div/form/div/div!-- 股票列表 --div classcarddiv classcard-bodydiv classd-flex justify-content-between align-items-center mb-3h5 classcard-title股票列表/h5a href{% url update_prices %} classbtn btn-success更新价格/a/div{% if stocks %}div classtable-responsivetable classtable table-hovertheadtrth代码/thth名称/thth当前价格/thth涨跌幅/thth最后更新/thth操作/th/tr/theadtbody{% for stock in stocks %}trtd{{ stock.symbol }}/tdtd{{ stock.name }}/tdtd{{ stock.current_price }}/tdtd class{% if stock.change_percent 0 %}text-success{% elif stock.change_percent 0 %}text-danger{% endif %}{{ stock.change_percent|floatformat:2 }}%/tdtd{{ stock.last_updated|date:Y-m-d H:i:s }}/tdtda href{% url remove_stock stock.symbol %} classbtn btn-danger btn-sm onclickreturn confirm(确定要删除这支股票吗)删除/a/td/tr{% endfor %}/tbody/table/div{% else %}p classtext-center暂无自选股票请添加。/p{% endif %}/div/div/divscript srchttps://cdn.jsdelivr.net/npm/bootstrap5.1.3/dist/js/bootstrap.bundle.min.js/script /body /html stock_tracker\urls.py from django.contrib import admin from django.urls import path, includeurlpatterns [path(admin/, admin.site.urls),path(, include(stocks.urls)), ]stock_tracker\settings.py INSTALLED_APPS [。。。stocks, ]LANGUAGE_CODE zh-hansTIME_ZONE Asia/ShanghaiUSE_I18N TrueUSE_TZ True AKShare 使用说明 AKShare 是一个优秀的开源财经数据接口库用于获取中国金融市场数据。本项目主要使用其 A 股数据接口。 安装方法 pip install akshare 基本使用 import akshare as ak A股数据获取 1. 实时行情数据 获取所有 A 股实时行情数据 # 获取所有A股实时行情 stock_info ak.stock_zh_a_spot_em()# 返回的数据包含以下字段 # - 代码: 股票代码 # - 名称: 股票名称 # - 最新价: 当前价格 # - 涨跌幅: 涨跌百分比 # - 涨跌额: 价格变动 # - 成交量: 成交股数 # - 成交额: 成交金额 # - 振幅: 价格振幅 # - 最高: 最高价 # - 最低: 最低价 # - 今开: 开盘价 # - 昨收: 昨日收盘价 2. 个股历史数据 获取单个股票的历史数据 # 获取股票历史数据 stock_history ak.stock_zh_a_hist(symbol000001, perioddaily, start_date20240101, end_date20240110)# 参数说明 # - symbol: 股票代码不带市场后缀 # - period: 周期daily-日线weekly-周线monthly-月线 # - start_date: 开始日期 # - end_date: 结束日期 3. 股票基本信息 获取股票的基本信息 # 获取股票基本信息 stock_info ak.stock_individual_info_em(symbol000001)# 返回数据包含 # - 股票代码 # - 股票简称 # - 行业 # - 总市值 # - 流通市值 # - 等基本面信息 本项目中的使用 在本项目中我们主要使用了以下功能 获取实时行情 # 从 views.py 中的实现 def add_stock(request):# 获取实时行情数据stock_info ak.stock_zh_a_spot_em()# 查找特定股票stock_data stock_info[stock_info[代码] code]if not stock_data.empty:# 获取股票信息stock_row stock_data.iloc[0]current_price float(stock_row[最新价])change_percent float(stock_row[涨跌幅]) 批量更新价格 # 从 views.py 中的实现 def update_prices(request):# 一次获取所有A股数据stock_info ak.stock_zh_a_spot_em()for stock in stocks:# 查找对应的股票数据stock_data stock_info[stock_info[代码] code]if not stock_data.empty:# 更新价格信息stock_row stock_data.iloc[0]stock.current_price float(stock_row[最新价])stock.change_percent float(stock_row[涨跌幅]) 注意事项 数据限制 接口访问可能有频率限制建议适当控制请求频率考虑数据缓存机制 代码格式 A股代码格式6位数字上证股票以 6 开头深证股票以 0 或 3 开头 错误处理 注意处理网络异常处理数据为空的情况处理数值转换异常 常见问题 数据获取失败 检查网络连接确认股票代码格式查看是否触发频率限制 数据不准确 确认是否在交易时间检查数据更新时间验证股票代码正确性 相关资源 AKShare 官方文档GitHub 仓库AKShare 使用教程 更新记录 2024-01-10: 首次创建文档使用 akshare 1.15.68 版本主要实现 A 股实时数据获取功能
http://www.w-s-a.com/news/180760/

相关文章:

  • 互联网信息服务小红书seo是什么意思
  • 深圳市南山区建设局网站公司简介网页
  • 免费小程序制作软件爱站网站seo查询工具
  • 承接电商网站建设缔烨建设公司网站
  • 网站运营介绍十大国外室内设计网站
  • 网站建设完毕后怎么加后台电影购买网站怎么设计
  • 空间ip地址访问网站音乐分享 wordpress
  • 做网站一单能挣多少wordpress主题文件夹在哪
  • 视频社区app源码台州优化网站
  • 保定高端网站建设做微商好还是开网站好
  • 有什么方法在淘宝发布网站建设设计wordpress评分
  • 自己做的网站怎么爬数据库酷播wordpress
  • 广州哪家做网站还可以黑龙江省建设厅网站的电话
  • 青海省高等级公路建设管局网站国内做led灯网站有
  • 做网站成功建设银行网站网址
  • 自动生成网站上海十大活动策划公司
  • 企业网站建设源码HTML论述市场营销对网站设计的影响
  • 网站设计常见问题建设工程网上质检备案网站
  • 网站怎样优化文章关键词建设网站需要钱吗
  • 加强网站建设和管理的通知重庆网站推广产品
  • 网站建设术语解释百度发布信息的免费平台
  • 情公司做的网站seo与网站优化 pdf
  • 做一个购物网站多少钱江阴市住房和城乡建设局网站
  • 网站建设都包括哪些ps怎么做网站首页和超链接
  • 怎样低成本做网站推广编辑网站教程
  • 邯郸网站建设信息网站开发报价人天
  • 王店镇建设中心小学网站酷玛网站建设
  • 网站需求方案wordpress博客主题推荐
  • 网站安全证书过期怎么办那个视频网站最好最全网址
  • 外贸上哪个网站开发客户建行个人网上银行登录入口