从以前的URL获取PK

  • 本文关键字:获取 PK URL django
  • 更新时间 :
  • 英文 :


我想从以前的URL中获取PK,例如:

/instructor/1
/instructor/1/sex/2

问题是,当选择性别时,旅馆url.py显示了一个新的URL,我无法保存教师的PK。

这是url.py

from django.conf.urls import url, include
from . import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
    url(r'^$', views.InstructorListView.as_view(), name='instructor_list'),
    url(r'^instructor/(?P<pk>[w-]+)$',  views.SexoListView.as_view(), name='sexo_list'),
    url(r'^instructor/(?P<pk>[w-]+)/sexo/(?P<pk2>[w-]+)$', views.RutinaListView.as_view(), name='rutina_list'),
    url(r'^detail/(?P<pk>d+)$', views.InstructorDetailView.as_view(), name='instructor_detail'),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

这是views.py

from django.shortcuts import render
from rutinas.models import Instructor, Rutina, Sexo
from django.views.generic import ListView, DetailView
from django.shortcuts import get_object_or_404
from django.template import loader
from django.http import HttpResponse

# Create your views here.

class InstructorListView(ListView):
    model = Instructor

class InstructorDetailView(DetailView):
    model = Instructor

class RutinaListView(ListView):
    model = Rutina
    # Filtro de rutinas deacuerdo a la seleccion de instructor y sexo
    def get_queryset(self):
        inst = Rutina.objects.filter(sexo=self.kwargs['pk2'], instructor=self.kwargs['pk'])
        return inst

class SexoListView(ListView):
    model = Sexo

用于测试我在sex -list模板中有效果

<a href="{% url 'rutina_list' pk=1 pk2=sexo.pk %}">
            {{ sexo.genero }}
 </a>

i,该PK与ersenter_list中选择的PK相等,但是它显示了一个新的网页,并且PK被刷新。

我想要此URL的PK:

url(r'^instructor/(?P<pk>[w-]+)$',  views.SexoListView.as_view(), name='sexo_list'),

在此URL中拿走它并经过它:

url(r'^instructor/(?P<pk>[w-]+)/sexo/(?P<pk2>[w-]+)$', views.RutinaListView.as_view(), name='rutina_list'),

有什么想法?

对于最后一个URL,您可以拥有

request.META['HTTP_REFERER']

在您看来,这将为您提供最后一个URL。

我认为这不是您想要的,也许您可以给我们一些关于您想做的事情的见解。

最新更新