如何使用问号(?)创建带有Django的URL

时间:2018-03-16 19:40:49

标签: django parameters django-urls

我在Django中创建带有问号(?)的URL。 链接不起作用,因为?被替换为ca: %3F

这是url的结果:/ blog / Detail /%3Ffollow_Jeudi = 2018-03-15。

我想得到这个:/ blog / Detail /? Follow_Jeudi = 2018-03-15

如何解决此问题。

这是我的观点,模板和网址。

我的观点:

from django.http import HttpRequest
def DateAdd(request):
    if request.GET.get('date_create_schedule'):
        date_text = request.GET.get('date_create_schedule')
        newHistory = fdt_schedulejour(date=date_text,user_id=request.user.id)
        newHistory.save()
        results = 'test'
        title = '?follow_'
        jour_date = date_text

    return redirect('ajout_date', title,jour_date_text,jour_date)

我的模板:

<div class="container text-center">
    <form class="form-signin" id="login_form" method="get" action="/blog/DateAdd/">
        <br>
        <input type="text" name="date_create_schedule"   value="{{ Activite_Date_click|date:"Y-m-d" }}"  >
        <br>
        <button class="btn btn-lg btn-primary btn-block" type="submit">Get Data</button>
    </form>
</div>

我的网址:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.urls import path,include
from django.contrib.auth import views as auth_views
from blog import views
urlpatterns = [
    path('Detail/<str:title_p><str:jour_date_text><str:jour_date>', views.DateAdd.as_view(), name='ajout_date'),
]

谢谢

1 个答案:

答案 0 :(得分:0)

您可以更改查询字符串的网址。

from django.conf.urls import url
urlpatterns = (url(r'Detail/(?P<title>[-/\w]+)/(?P<jour_date_text>[-/\w]+)/(?P<jour_date>[-/\w]+)/$'),views.DateAdd.as_view(), name='ajout_date')

希望这样能解决你的问题