我是Django Framework网页设计的新手。在我的Web项目中,我有一个模板,其中包含一个来自Oracle数据库的表,它由django-tables2设计。在此表中,我有一个列链接到本地计算机上存储的本地图像。当用户单击表中的链接时,图像将显示在同一选项卡上。
现在我的问题是,我可以在单独的弹出窗口或新标签或模态对话框中显示此图像,而不是在同一标签中显示它吗?
我已经在网上提到了这个,但在大多数情况下,结果是针对Form模式而不是媒体文件,我无法弄清楚如何在我的情况下实现这些。拜托,有人可以帮我吗?
我使用Django-Bootstrap进行整体UI设计,django-tables2用于表格设计,django-material用于表单设计,Oracle数据库11g,Python3.6和Django 11.1。
我的models.py是:
class ModelName(models.Model):
p_key = models.BigIntegerField(primary_key = True)
field1 = models.CharField(unique = True, max_length = 500)
field2 = models.DateTimeField(blank = True, null = True)
.
.
field3 = models.FielField(max_length = 500, blank = True, null = True)
foreign_key = models.ForeignKey('Table_Name', models.DO_NOTHING)
因此,我的tables.py是:
import django_tables2 as tables
from django_tables2.utils import A
from my_app.models import ModelName
class TableName(tables.Table):
p_key = tables.column(attrs = {'width' : '200px'})
class Meta:
model = ModelName
fields = ('p_key', 'field1', 'field2', 'field3', 'field4')
attrs = {'class' : 'table table-striped table-bordered'}
order_by = 'p_key'
因此,我的views.py是:
from django.shortcuts import *
from .models import ModeName
from my_app.tables import TableName
from django.views.generic import ListView
from django.template import Requestcontext
from django_tables2 import RequestConfig
def my_view(request):
rec = ModelName.objects.all()
table = TableName(rec)
RequestConfig(request).configure(table)
table.paginate(page=request.GET.get('page', 1), per_page = 5)
cnt = rec.count()
context = {
'table' : table,
'count' : cnt,
}
return render(request, 'template.html', context)
因此,我的html文件' template.html'是:
{% load staticfiles %}
{% load bootstrap_themes %}
{% load bootstrap3 %}
{% load render_table from django_tables2 %}
{% load querystring from django_tables2 %}
{% load title from django_tables2 %}
{% load static %}
{% load trans blocktrans from i18n %}
<html>
<head>
<link rel="stylesheet" href="{% static "css/bootstrap.css" %}">
<link rel="stylesheet" href="{% static "css/bootstrap-theme.css" %}">
<link rel="stylesheet" href="{% static "css/bootstrap.min.css" %}">
<link rel="stylesheet" href="{% static "django_tables2/themes/paleblue/css/screen.css" %}">
<link rel="stylesheet" href="{% static "django_tables2/bootstrap.css" %}">
<link rel="stylesheet" href="{% static "css/font-awesome.min.css" %}">
<script src="{% static "js/jquery.js" %}"></script>
<script src="{% static "js/jquery.min.js" %}"></script>
<script src="{% static "js/bootstrap.min.js" %}"></script>
<script src="{% static "js/bootstrap.js" %}"></script>
</head>
<body>
<div class="container">
<div class="row" align="center">
{% csrf_token %}
{% render_table table %}
<center>Total No. of Products are <strong style="font-size: 15px;">{{ count }}</strong></center>
</div>
</div>
</body>
</html>
所以这是我的整体代码结构。在这些文件中,来自tables.py,我试图显示&#39;浏览&#39;字段进入模态弹出窗口。请帮帮我。在此先感谢.. !!