我在通过url传递带空格的变量时遇到了麻烦。 现在假设我有一个对象
class Kiosks(models.Model):
name = models.CharField(max_length = 200, unique = True)
owner = models.ForeignKey(User)
现在为自助服务终端输入的“名称”是“Akash Deshpande”并保存。现在,当重定向到视图中的新页面时,我正在使用“kiosk名称” 即。
messages.success(request,"Kiosk edited successfully")
return HttpResponseRedirect('/kiosks/'+kiosk.name+'/')
迎合这个网址的观点如下:
def dashboard(request, kiosk_name):
kiosk =Kiosks.objects.get(name__iexact = kiosk_name)
deal_form = DealsForm(kiosk=kiosk)
code_form = CodeForm()
unverified_transactions = get_unverified_transactions(kiosk)
return render(request,'kiosks/dashboard.html',{'kiosk':kiosk,
'deal_form' : deal_form,
'code_form' : code_form,
'unverified_transactions' : unverified_transactions})
主要的urls.py只是通过“自助服务终端”将所有内容指向网址 kiosks urls.py
urlpatterns = patterns('kiosks.views',url(r'^(\w+)/$', 'dashboard'),)
现在不是转到此页面而是发出错误“找不到页面”。如何传递其中有空格的变量? 问题清楚了吗? 任何帮助将受到高度赞赏。
答案 0 :(得分:10)
在正则表达式中留出空格。
urlpatterns = patterns('kiosks.views', url(r'^([\w ]+)/$', 'dashboard'),)
对于皮特的爱,请使用reverse()
。它会帮助你捕捉这样的愚蠢错误。
答案 1 :(得分:2)
是..允许你的正则表达式中的空格..这样的东西对我有用..
url(r'^find-interiordesigners/state-(?P<state>.+?)/$',DesignersByCategoryCityState.as_view(),name='findInterior-state'),
答案 2 :(得分:0)
这是我用来忽略正则表达式中空格的相关示例,其中 \s 正在努力避免 url 名称中的空格
<块引用>url(r'^api/product/(?P