如何在 Django 中创建带问号 (?) 的 URLS

How to create a URLS with the question mark (?) In Django

我在 Django 中创建了一个带有问号 (?) 的 URLS。 link 不起作用,因为?替换为 ca: % 3F

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

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

我该如何解决这个问题。

这是我的视图、模板和 url。

我的看法:

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>

我的urls:

# -*- 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'),
]

谢谢

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

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')

希望它能解决您的问题