javascript - Django Python - Javascript 动态表对行进行排序

标签 javascript python html mysql django

我从未做过任何 JavaScript,但我发现这就是我正在寻找的用于显示我的 html 模板之一的动态表的内容。 我读到应该有一些使用 JQuery 的东西,但仅此而已。 因此,我正在寻找一个动态表的示例,该示例能够按照选择的列对行进行排序,用 javascript 编写,显示在 HTML 模板中,使用: - as columns:MySQL 表的字段(参见下面的示例)。 - 作为行:同一表中包含的条目 而这一切都必须使用Django(我不知道javascript文件是否必须与HTML模板分开或者必须位于HTML模板中)

MySQL 表示例:

CREATE TABLE PDB(
    id_PDB_chain CHAR(5) NOT NULL PRIMARY KEY,
    id_PDB CHAR(4) NOT NULL,
    chaine VARCHAR(10) NOT NULL,
    header VARCHAR(255) NOT NULL,
    sequence_Proteine TEXT NOT NULL,
    start_seq INT NOT NULL,
    taille_Proteine INT NOT NULL,
    resolution_PDB FLOAT NOT NULL,
    meth_Res VARCHAR(10) NOT NULL,
    FOREIGN KEY (meth_Res)
    REFERENCES methodes_res(meth_Res)
    ON DELETE CASCADE
);

models.py文件中对应的类:

from __future__ import unicode_literals

from django.db import models


class Pdb(models.Model):
    id_pdb_chain = models.CharField(db_column='id_PDB_chain', primary_key=True, max_length=5)  # Field name made lowercase.
    id_pdb = models.CharField(db_column='id_PDB', max_length=4)  # Field name made lowercase.
    chaine = models.CharField(max_length=10)
    header = models.CharField(max_length=255)
    sequence_proteine = models.TextField(db_column='sequence_Proteine')  # Field name made lowercase.
    start_seq = models.IntegerField()
    taille_proteine = models.IntegerField(db_column='taille_Proteine')  # Field name made lowercase.
    resolution_pdb = models.FloatField(db_column='resolution_PDB')  # Field name made lowercase.
    meth_res = models.ForeignKey('MethodesRes', models.DO_NOTHING, db_column='meth_Res')  # Field name made lowercase.

    def __unicode__(self):
        return self.id_pdb

    class Meta:
        managed = False
        db_table = 'PDB'

如果您需要任何其他信息,请在评论中询问,我将使用这些信息编辑这篇文章。

最佳答案

在你的views.py中以你想要的任何名称创建一个 View 。创建一个列表并将其设置为您想要从特定模型中获得的任何数据。现在转到您的模板。使用从数据库中选择的特定数据填充该列表后,使用 If 语句检查该列表中是否存在任何内容。如果那里有数据,那么您可以使用 For 循环,如下所示:

{% for model_name in list_name %}
    model_name.model_data etc # Mark it up with relevant html table code, though divs are more preferred

您可以根据需要标记数据以显示表格,尽管 div 比表格更兼容且更好。这只是一个基本示例。在Else语句中,如果列表中提前不存在数据,则可以简单地输出不存在数据。看看这里https://docs.djangoproject.com/en/1.10/intro/tutorial01/ 他们引导您构建一个投票应用程序,与您相关的是他们构建的 index.html 模板,该模板从数据库中提取问题数据,并在主页上显示无序的问题列表作为投票链接。只需按照本教程进行操作,看看他们如何实现 models.py 和views.py 以及模板,然后将标记从无序列表更改为适合您需要的任何内容。

关于javascript - Django Python - Javascript 动态表对行进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43257571/

相关文章:

javascript - 如何用jquery切换改变html?

javascript - 获取与正则表达式匹配的 HTML 单词的 XPATH

javascript - 使用strongloop简单的mongo对象更新插入

javascript - 在 JavaScript 中,等于 ('==' 和 '===' 之间有什么区别)

python - Chrome 配置文件未加载 Selenium

python - 来自 scipy.fft 的幅度

html - 将 DIV 垂直放置在父 DIV 的中心?

javascript - 即使在数组中也找不到对象

python - GPflow分类: interpretation of posterior variance

c# - 如何知道浏览器是否有 PDF 查看器?