Я пытаюсь создать ссылку из столбца django-tables2 на «подробный вид» объекта.Например, у меня есть столбец поставщиков медицинских услуг, и я хочу, чтобы пользователь мог щелкнуть по нему и просмотреть конкретную информацию для поставщика медицинских услуг из таблицы результатов поиска django.
В настоящее время это не работает.Я могу получить таблицу, чтобы показать, но не могу получить ее, где они могут нажать на страницу сведений.Пожалуйста помоги.Существует проблема с моими URL и моими представлениями, поэтому я собираюсь включить таблицы.py, views.py и urls.py.Ссылка, которую я пытаюсь связать, является внешним ключом для модели больницы в модели цены.
Это 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"}