我有一張 ETF 代碼、ETF 名稱及其指數名稱的表格。我希望表格中的每個條目都可以點擊并鏈接到靜態/影像檔案夾中的相關影像。每個影像都以每個 ETF 的指數代碼命名。因此,當用戶點擊時,例如,第一個條目 ETF 代碼“PSCD”鏈接到'static/myapp/images/sample_regression_S6COND.jpg'. 鏈接“S6COND”中的子字串是我需要作為相對鏈接的部分。每個 ETF 代碼都有不同的指數代碼。這些索引代碼位于與表關聯的模型中。

在我的 table.html 頁面中,當我對靜態影像的鏈接進行硬編碼時<td><a href="{% static '/myapp/images/sample_regression_S6COND.jpg' %}" target="_blank">{{i.etf_ticker}}</a></td>(看看我是如何在鏈接中鍵入“S6COND”的?),它可以作業,但當我嘗試將其轉換為相對鏈接 {{i.index_ticker }} 喜歡<td><a href="{% static '/myapp/images/sample_regression_{{i.index_ticker}}.jpg' %}" target="_blank">{{i.etf_name}}</a></td>。我的靜態檔案正確放置在我的應用程式檔案夾中,包括影像、css 和 js 檔案夾。所有影像都在 static/myapp/images 檔案夾中。
表.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ETF Table</title>
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'myapp/css/table_style.css' %}">
<style type="text/css"></style>
</head>
<body>
<div class="container">
<table id="table" class="table table-dark table-hover table-striped table-bordered table-sm">
<thead>
<tr>
<th data-sortable="true">ETF Ticker</th>
<th>ETF Name</th>
<th>Index Name</th>
</tr>
</thead>
<tbody>
{% if d %}
{% for i in d %}
<tr>
<td><a href="{% static '/myapp/images/sample_regression_S6COND.jpg' %}" target="_blank">{{i.etf_ticker}}</a></td>
<td><a href="{% static '/myapp/images/sample_regression_{{i.index_ticker}}.jpg' %}" target="_blank">{{i.etf_name}}</a></td>
<td><a href="{% static '/myapp/images/sample_regression_{{i.index_ticker}}.jpg' %}" target="_blank">{{i.index_name}}</a></td>
</tr>
{% endfor %}
{% endif %}
</tbody>
</table>
<script>
$('#table').DataTable({
"bLengthChange": true,
"lengthMenu": [ [20, 50, 100 -1], [20, 50, 100, "All"] ],
"iDisplayLength": 20,
bInfo: false,
responsive: true,
order: [[4, 'desc']],
});
</script>
</div>
</body>
</html>
視圖.py
def table(request):
data = Table.objects.all().values()
context = {'d': data}
return render(request, 'table.html', context)
模型.py
class Table(models.Model):
etf_ticker = models.CharField(max_length=10)
etf_name = models.CharField(max_length=200)
index_name = models.CharField(max_length=200)
index_ticker = models.CharField(max_length=10)
uj5u.com熱心網友回復:
通過以下方式創建您的網址:
<a href="{% static '/myapp/images/sample_regression_'|add:i.index_ticker|add:'.jpg' %}" target="_blank">{{i.etf_name}}</a>
我已將您的網址分成 3 部分。第一部分和最后一部分是簡單的字串。中間部分包含您的股票代碼。|用于表示我們正在使用 Django 模板語言的過濾器之一。我們使用的模板是add. 它用于向管道之前的任何內容添加內容。如果我們正在處理數字,它會以數學方式將它們相加,但由于我們使用的是字串,它會連接 2 個字串。同樣,最后一部分連接到前兩部分,最終生成您需要的 url。
您的方法不起作用的原因是您試圖將變數傳遞{{i.index_ticker}}給字串。這是在創建一個包含{{i.index_ticker}}格式化版本的 url 。這就是為什么您可能在 url 中得到{{i.index_ticker}}的原因。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/526090.html
