【问题标题】:Urls in Django 1.7 when the Url Contains spaces当 URL 包含空格时,Django 1.7 中的 URL
【发布时间】:2015-02-04 02:42:21
【问题描述】:

我有一个应用程序,用户可以在其中创建事件。一旦创建了该事件,就会有一个指向该事件的链接,该链接应该转到事件详细信息页面。

href 如下所示:

<a href="/events/view/{{event.event_name}}">Event Details </a> 

所以示例网址如下所示:

http://www.example.com/events/view/Food%20Drive%20LA

%20 给了我一个问题,所以我无法呈现带有空格的网址。我认为我的事件 urls.py 中的正则表达式不正确:

url(r'^view/(?P<event_name>[\w%20+])$', views.event_details, name='event_details'),

这是我的views.py:

def event_details(request, event_name):
    event_name = event_name
    #...
    return render_to_response('events/event_details.html')

这可能是什么问题?

【问题讨论】:

    标签: python django django-views django-urls


    【解决方案1】:

    不用担心 URL 中的空格百分比编码,在 django url 配置级别继续将其视为普通空格:

    ^view/(?P<event_name>[\w\s]+)$
    

    另见:

    【讨论】:

      【解决方案2】:

      %20 只是一个空格,因此您的正则表达式应该匹配一个空格字符,而不是文字 %20 字符串。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-22
        • 2011-08-19
        • 2010-12-17
        • 2022-12-10
        • 2013-06-12
        • 1970-01-01
        • 1970-01-01
        • 2018-07-12
        相关资源
        最近更新 更多