如何获得linkify把你从一个Django表的详细视图?

问题描述 投票:1回答:1

我试图创建一个从Django的tables2列链接对象的“详细信息视图”。举例来说,我有医疗服务提供者的一列,我希望用户能够点击它,看看从搜索结果中的一个Django表健康服务提供者的具体信息。

目前,它不工作。我可以得到表上显示,但不能让它在那里他们可以点击详细信息页面。请帮忙。有一个与我的网址和我的观点有问题,所以我要包括tables.py,在views.py和urls.py.我试图linkify的联系是在价格模型的医院模式外键。

这是urls.py.这是下url_patterns。

  path('hospital_detail/(?P<pk>\d+)/$', views.HospitalDetailView.as_view(), name='hospital-detail')

这是views.py。

from django.template import RequestContext, get_object_or_404, render
from django.views.generic.detail import DetailView
from catalog.models import Price, Hospital, Service
from django_tables2 import RequestConfig
from catalog.tables import PriceTable

class HospitalDetailView(generic.DetailView):
    model = Hospital

def hospital_detail_view(request, primary_key):
    hop = get_object_or_404(Hospital,  pk=primary_key)
      return render(request, 'hospital_detail.html', {'hospital': hop})

def results(request):
    if request.method == "GET":
      Q=()
      out_words = request.GET.get('s')
      context = RequestContext(request)
      table = PriceTable(Price.objects.filter(service__desc_us__icontains = out_words))
      RequestConfig(request).configure(table)
    else:
      table = PriceTable(Price.objects.all())
      RequestConfig(request).configure(table)

    return render(request, 'results.html', {'table': table})

这是tables.py。医院是在价格表的外键。

import django_tables2 as tables
from catalog.models import Service, Hospital, Price
from django_tables2.utils import A

class PriceTable(tables.Table):
    hospital = tables.LinkColumn('hospital-detail', args=[A('pk')])

    class Meta:
        model = Price
        template_name = 'django_tables2/bootstrap.html'
        sequence = ('hospital', 'service', 'price_offer', 'pub_date')
        exclude = ('id', 'published')
        attrs = {"class": "paleblue"}
django django-views django-tables2
1个回答
-1
投票

使用tables.LinkColumn

tables.LinkColumn("hospital_detail", kwargs={"pk": tables.A("pk")}, empty_values=())
© www.soinside.com 2019 - 2024. All rights reserved.