2014-12-05 93 views
1

我有一个应用程序,用户可以在其中创建事件。一旦创建该事件,就会有一个指向事件详细信息页面的链接。Url在Django 1.7当Url包含空格

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

可能是什么这里的问题?

回答

4

不要担心百分号编码在URL中的空间,在Django的URL配置水平继续思考它作为一个通常的空间:

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

另见:

2

%20只是一个空格,所以你的正则表达式应该匹配一个空格字符,而不是字符串%20