在我的项目中,我想显示一个类别页面,列出特定类别中的所有产品。类别页面上的每个列表都会将访问者链接到该特定产品。
产品视图正常运行。使用url:/ prod / 999访问产品,其中999是django创建的记录号。
对于类别页面,我有数据,我正在使用我的模板。我可以在模板中访问产品名称,描述等..但是在创建产品详细信息页面的链接时,我需要该产品记录。不幸的是,它似乎没有传递给模板。
如何传递记录号码" pk"到我的模板?
这是我的观看代码:
from get_data.models import ShareASale_Data, CategorySummed
model = ShareASale_Data
template_name = 'summary_page/category.html'
context_object_name="the_records"
paginate_by = 10
def get_queryset(self, **kwargs):
# First Get the Actual Category from the Category db.
cat_summed = CategorySummed.objects.get(category_url = self.kwargs['s_cat'])
# Use the category from the previous line to fetch the product records
return ShareASale_Data.objects.filter(merch_category = cat_summed.category )
到目前为止,模板并不多。这是我尝试访问pk的地方:
{% for x in the_records %}
<h3><a href='/prod/'{{x.id}}>{{x.name}}</a></h3>
{% endfor %}
答案 0 :(得分:3)
您已将模板变量放在href属性中的结束引号之外,因此浏览器不会在链接中使用它。把它放进去。
"token_type": "Bearer",
"scope": "User.Read",
"expires_in": 3599,
"ext_expires_in": 0,
"access_token": "eyJ0eXAiO ...",
"refresh_token": "OAQABAAAAAAA9kTklh ..."
"id_token": "eyJ0eXAiOiJKV1QiLC ..."
但请注意,这不是你应该如何在模板中创建链接;你应该使用at_hash
标签。假设您的详细信息URL定义如下:
"aud": "... GUID ... ",
"iss": "https://login.microsoftonline.com/.../v2.0",
"iat": 1502324474,
"nbf": 1502324474,
"exp": 1502328374,
"aio": "ATQA ... 7liW+Hb",
"name": "... some name ... ",
"nonce": "... GUID ...",
"oid": "... GUID ...",
"preferred_username": "... some preferred name ...",
"sub": "KIuLx ... ifCaZUUi3b",
"tid": "... GUID ...",
"ver": "2.0"
你会这样做:
<a href='/prod/{{x.id}}'>{{x.name}}</a>
^ here