simple_backtest.html 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. {% extends "base_index.html" %}
  2. {% block content %}
  3. <div class="container mt-5">
  4. <h1 class="text-center mb-4">上传CSV文件</h1>
  5. <div class="row justify-content-center">
  6. <div class="col-md-6">
  7. <form action="/simple_backtest" method="post" enctype="multipart/form-data" class="mb-3">
  8. <div class="input-group mb-3">
  9. <div class="custom-file">
  10. <input type="file" class="custom-file-input" name="file" id="fileInput"
  11. onchange="updateLabel()">
  12. <label class="custom-file-label" for="fileInput">选择文件</label>
  13. </div>
  14. <div class="input-group-append">
  15. <button class="btn btn-outline-secondary" type="submit">上传</button>
  16. </div>
  17. </div>
  18. </form>
  19. </div>
  20. </div>
  21. {% if tables %}
  22. <h2 class="text-center">{{ file_name }}分析结果</h2>
  23. <div class="table-responsive">
  24. {% for table in tables %}
  25. {{ table|safe }}
  26. {% endfor %}
  27. </div>
  28. {% endif %}
  29. </div>
  30. <script>
  31. // 当文件选择变化时,保存文件名到本地存储
  32. function updateLabel() {
  33. var input = document.getElementById('fileInput');
  34. if (input.files.length > 0) { // 确保选择了文件
  35. var label = input.nextElementSibling;
  36. var fileName = input.files[0].name;
  37. label.innerHTML = fileName;
  38. localStorage.setItem('lastUploadedFileName', fileName); // 保存文件名到本地存储
  39. } else {
  40. localStorage.removeItem('lastUploadedFileName'); // 如果没有文件被选择,清除存储的文件名
  41. }
  42. }
  43. // 页面加载完成后,检查是否有保存的文件名
  44. document.addEventListener('DOMContentLoaded', function () {
  45. var input = document.getElementById('fileInput');
  46. var label = document.querySelector('.custom-file-label');
  47. if (input.files.length > 0) { // 如果实际上有文件被选中
  48. var fileName = input.files[0].name;
  49. label.innerHTML = fileName;
  50. } else {
  51. label.innerHTML = '选择文件'; // 如果没有文件,显示默认文本
  52. localStorage.removeItem('lastUploadedFileName'); // 清除本地存储中的文件名
  53. }
  54. });
  55. </script>
  56. {% endblock %}