Django 1.6 301 url重定向不工作

2024-09-29 06:22:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用django重定向应用程序进行301重定向,但当我访问旧的url时,我仍然会得到404页面。我遵循文档https://docs.djangoproject.com/en/1.6/ref/contrib/redirects/并在数据库中添加了一个新旧url,但它仍然不起作用。在

有没有其他方法可以做301重定向

我有这个url http://localhost:8000/doclistings/?speciality=Dentist,我希望它被重定向到http://localhost:8000/doclistings/?speciality=Dentists

在网址.py在

url(r'^doclistings/$', views.doclistings, name='doclistings'),

在视图.py在

^{pr2}$

Tags: django文档pyhttpscom应用程序localhosthttp
1条回答
网友
1楼 · 发布于 2024-09-29 06:22:30

你不需要做重定向。如果我错了,但是您想访问专业的值,并且您希望Dentist中的用户密钥是Dentists,请更正我。在

我认为确保正确填写GET请求的key,value的正确方法是通过表单验证。有很多方法可以进行表单验证,您可以使用javascript或django表单进行验证。在

但是,如果speciality=='doctor'的值为doctors,那么可以将其设置为doctors

例如

def doclistings(request):
    d = getVariables(request)
    if request.method == "GET":
        form = DropdownSelectionForm(request.GET)
        try:
            s_name = request.GET['speciality']
            if s_name == 'Dentist':
                s_name = 'Dentists'
        except:
            s_name = None
        try:
            l_name = request.GET['language']
        except:
            l_name = None
        try:
            g_name = request.GET['gender']
        except:
            g_name = None

        d['s_name'] = s_name # adding these to the forms for the "selected" option
        d['l_name'] = l_name
        d['g_name'] = g_name


        try:
            doctors = filter_doctors(request=request, specialization=s_name, gender=g_name, language=l_name).order_by('-netlikes')

        except Exception:
            return error404(request)

    else:
        form = DropdownSelectionForm()

    d['doctors'] = doctors
    d.update({'form': form, 'languages': Language.objects.all()})
    return render_to_response('m1/doclistings.html',d)

告诉我这对你有用吗

干杯, 生物鸟人

相关问题 更多 >