【发布时间】:2017-02-21 15:39:59
【问题描述】:
我正在使用 django 构建一个可以通过网站查看的数据库。
在深入我的项目之前,我构建了 django 应用程序,并在我的模型中添加了一个表,其中只有一行数据。现在我正在尝试使用 jquery 数据表来可视化该表。但是,没有显示 jquery 数据表格式。我尝试了所有可能的解决方案,但还没有解决。
模型.py
from django.db import models
class Variant(models.Model):
type = models.CharField(max_length = 20)
protein_id = models.CharField(max_length = 20)
gene_symbol = models.CharField(max_length = 20)
chromosome = models.CharField(max_length = 5)
position = models.CharField(max_length = 20)
variation = models.CharField(max_length = 20)
consequence = models.CharField(max_length = 40)
rs = models.CharField(max_length = 20)
maf = models.CharField(max_length = 20)
phenotype = models.CharField(max_length = 20)
source = models.CharField(max_length = 40)
Views.py
from django.shortcuts import render
from view_data.models import *
def variants(request):
queryset = Variant.objects.all()
return render(request, "variants.html", {"allvars": queryset})
网址.py
from django.conf.urls import url
from django.contrib import admin
from view_data import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^variants/', views.variants),
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
variants.html
{% load static %}
<html>
<head>
<script src="{{ STATIC_URL }} js/jquery.js"></script>
<script src="{{ STATIC_URL }} jquery.min.js"></script>
<script src="{{ STATIC_URL }} jquery.dataTables.min.js"></script>
<link rel="stylesheet" href="{{ STATIC_URL }} jquery.dataTables.min.css">
<script>
$(document).ready(function(){
$("table_id").dataTable();
});
</script>
</head>
<body>
<div style="width:90%; margin:0 auto;">
<table id="table_id" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Variant Type</th>
<th>Protein Id</th>
<th>Gene Symbol</th>
<th>Chromosome</th>
<th>Position</th>
<th>Variation</th>
<th>Consequence</th>
<th>RS Id</th>
<th>GMAF</th>
<th>Phenotype</th>
<th>Source</th>
</tr>
</thead>
<tbody>
{% for v in allvars %}
<tr>
<td>{{ v.type }}</td>
<td>{{ v.protein_id }}</td>
<td>{{ v.gene_symbol }}</td>
<td>{{ v.chromosome }}</td>
<td>{{ v.position }}</td>
<td>{{ v.variation }}</td>
<td>{{ v.consequence }}</td>
<td>{{ v.rs }}</td>
<td>{{ v.maf }}</td>
<td>{{ v.phenotype }}</td>
<td>{{ v.source }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>
包含 js 和 css 文件的静态文件夹与我的 django 应用程序 (view_data) 处于同一级别。在 settings.py 文件中,我将“view_data”和“jquery”添加到 INSTALLED_APPS。我还将我的静态文件指定为:
STATIC_URL = '/static/'
STATIC_ROOT = (os.path.join(BASE_DIR, 'static'))
STATIC_DIRS = (os.path.join(BASE_DIR, 'static'))
现在,当我运行服务器时,我在终端中输入了以下几行:
[21/Feb/2017 15:33:54] "GET /variants/ HTTP/1.1" 200 1079
[21/Feb/2017 15:33:54] "GET /variants/jquery.dataTables.min.js HTTP/1.1" 200 1079
[21/Feb/2017 15:33:54] "GET /variants/jquery.min.js HTTP/1.1" 200 1079
[21/Feb/2017 15:33:54] "GET /variants/jquery.dataTables.min.css HTTP/1.1" 200 1079
[21/Feb/2017 15:33:54] "GET /variants/js/jquery.js HTTP/1.1" 200 1079
但是当我检查网站链接时,它显示的是按行排列的数据,但根本没有表格格式。请你帮我找出我做错了什么以及如何解决这个问题。
提前非常感谢您。 EMH
【问题讨论】:
-
您可能还想发布渲染的标记。
-
很抱歉,我没明白。请你解释一下你的意思。谢谢。
标签: jquery python django datatable