Django如何在模板中找到一个特定的行或容器

时间:2018-07-25 21:53:00

标签: django django-templates django-views

例如,在一个模板中,有10行视频,我需要快速转到视频编号7。如何实现?我知道在html中,您可以使用锚标记,然后使用href到id标记。但是如何将其切换为Django风格?

谢谢

2 个答案:

答案 0 :(得分:0)

django无法访问模板中的dom元素。您在考虑前端逻辑。您只能将对象传递给模板,而不能处理它们。

答案 1 :(得分:0)

首先,您必须在urls.py中定义视图的URL:

urls.py:

from django.contrib import admin
from django.urls import path
from django.views.decorators.csrf import csrf_exempt

from search.views import *

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', search),
]

然后,您需要定义在视图中渲染期间对象的排序或列出方式以及使用的模板:

views.py:

class HomeView(View):
      model = Listing
      template_name = 'index.html'
      def get(self, request, slug):
          list = self.model.objects.all()
          return render(request, self.template_name, locals())

并定义如何在浏览器中显示模板中的对象:

index.html:

<!doctype html>
<html>
<head></head>
<body>
<!-- this is the tag that our objects will displayed within -->
<div id="some-id">
    <!-- just write this code for to pass objects to any tags -->
    {% for item in list %}
        <p>{{ item.name }}</p>
        <p>{{ item.description }}</p>
    {% endfor %}
</div>
</body>
</html>