我想从以前的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。
我认为这不是您想要的,也许您可以给我们一些关于您想做的事情的见解。