【问题标题】:Flask sqlalchemy: Trying to create a html treeFlask sqlalchemy:尝试创建 html 树
【发布时间】:2018-07-01 10:43:46
【问题描述】:

我想在我的 Flask 应用程序中创建以下形式的 HTML 树:

<div class="container">
  <div class="well">TEST
  <ul class="nav nav-list">
    <li>
      <label class="tree-toggler nav-header"> <i class='icon-plus-sign'></i>a</label>
      <ul class="nav nav-list tree">

        <li>
          <label class="tree-toggler nav-header"> <i class='icon-plus-sign'></i>ab</label>
          <ul class="nav nav-list tree">
            <li><a href="#">1000</a>

            </li>
            <li><a href="#">2000</a>

            </li>

          </ul>
        </li>
        <li>
          <label class="tree-toggler nav-header"> <i class='icon-plus-sign'></i>ac</label>
          <ul class="nav nav-list tree">
            <li><a href="#">3000</a>


          </ul>
          </li>
      </ul>
      </li>
      <li>
        <label class="tree-toggler nav-header"> <i class='icon-plus-sign'></i>b</label>
        <ul class="nav nav-list tree">

          <li>
            <label class="tree-toggler nav-header"> <i class='icon-plus-sign'></i>bc</label>
            <ul class="nav nav-list tree">
              <li><a href="#">5000</a>

              </li>
              <li><a href="#">6000</a>

              </li>
              <li><a href="#">7500</a>

              </li>

            </ul>
          </li>
          <li>
            <label class="tree-toggler nav-header"> <i class='icon-plus-sign'></i>dc</label>
            <ul class="nav nav-list tree">
              <li><a href="#">7000</a>


            </ul>
            </li>
        </ul>
        </li>
  </ul>
</div>

我的数据如下所示:

<table>
  <tbody>
    <tr>
      <td>index</td>
      <td>section</td>
      <td>sectionsection</td>
      <td>part</td>
    </tr>
    <tr>
      <td>1</td>
      <td>a</td>
      <td>ab</td>
      <td>1000</td>
    </tr>
    <tr>
      <td>2</td>
      <td>a</td>
      <td>ab</td>
      <td>2000</td>
    </tr>
    <tr>
      <td>3</td>
      <td>a</td>
      <td>ac</td>
      <td>3000</td>
    </tr>
    <tr>
      <td>4</td>
      <td>b</td>
      <td>bc</td>
      <td>5000</td>
    </tr>
    <tr>
      <td>5</td>
      <td>b</td>
      <td>bc</td>
      <td>6000</td>
    </tr>
    <tr>
      <td>6</td>
      <td>b</td>
      <td>bc</td>
      <td>6500</td>
    </tr>
    <tr>
      <td>7</td>
      <td>b</td>
      <td>dc</td>
      <td>7000</td>
    </tr>
    <tr>
      <td>8</td>
      <td>c</td>
      <td>ff</td>
      <td>1420</td>
    </tr>
  </tbody>
</table>

Flask 设置如下所示:

from flask_sqlalchemy import SQLAlchemy
from flask import Flask

app = Flask(__name__)


app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///new3.db'
db = SQLAlchemy(app)

class TEST(db.Model):
    __tablename__ = 'testing'
    id = db.Column('index', db.Integer, primary_key=True)
    section = db.Column('section', db.Unicode)
    sectionsection = db.Column('sectionsection', db.Unicode)
    part = db.Column('part', db.Unicode)

我只设法创建了树的一部分。但是当我尝试添加最后一部分时,一切都崩溃了。

【问题讨论】:

  • 请详细说明(在问题中)“一切都崩溃了”是什么意思。

标签: flask tree sqlalchemy


【解决方案1】:

我有完全相同的问题...我设法解决它:

test_data = Test.query.all()

newest = "<ul class='nav nav-list'>"
for i in test_data:
    newest = newest + "<li><label class='tree-toggler nav-header'> <i class='icon-plus-sign'></i>" + str(i.sec) + " </label><ul class='nav nav-list tree'>" 
    x = Test.query.filter_by(sec = i.sec).group_by(Test.secsec)
    for f in x:
            newest = newest + "<li><label class='tree-toggler nav-header'> <i class='icon-plus-sign'></i>" + str(f.secsec) + "</label><ul class='nav nav-list tree'>"
            y = Test.query.filter_by(sec = i.sec, secsec = f.secsec ).group_by(Test.spn)
            for n in y:
                    newest = newest + "<li><input type='text' class='spn' value = " + str(n.part) + " readonly><input type='submit' value='add to list' class='btn submit' /></li>"
            newest = newest + "</ul></li>"
    newest = newest + "</ul></li>"
newest = newest + "</ul>ul class='nav nav-list'>"

但不幸的是,运行脚本需要很长时间

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2014-10-15
    • 2020-06-05
    相关资源
    最近更新 更多