python - 如何通过 :Django 中的 URL 传递带空格的变量

标签 python django django-urls

我在通过 URL 传递带有空格的变量时遇到了问题。 现在假设我有一个对象

class Kiosks(models.Model):
    name = models.CharField(max_length = 200, unique = True)
    owner = models.ForeignKey(User)

现在为信息亭输入的“名称”是“Akash Deshpande”并保存。现在,在重定向到 View 中的新页面时,我使用的是“信息亭名称” 即

 messages.success(request,"Kiosk edited successfully") 
 return HttpResponseRedirect('/kiosks/'+kiosk.name+'/')

迎合这个url的 View 如下:

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”的东西指向下面的 url 信息亭 urls.py

urlpatterns = patterns('kiosks.views',url(r'^(\w+)/$', 'dashboard'),)

现在不是转到此页面,而是给出错误“找不到页面”。我如何传递其中有空格的变量? 问题清楚了吗? 任何帮助将不胜感激。

最佳答案

在正则表达式中允许空格。

urlpatterns = patterns('kiosks.views', url(r'^([\w ]+)/$', 'dashboard'),)

看在 Pete 的份上,请使用 reverse()。它将帮助您发现像这样的愚蠢错误。

关于python - 如何通过 :Django 中的 URL 传递带空格的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8238268/

相关文章:

python - 如何在 View 中检查 Django url 的名称

django - NoReverseMatch at/,u'opts|admin_urlname' 不是注册的命名空间 Django 1.4.1

django:CMS 的递归/树状 URL 映射?

python - Django 模板 - 遍历范围

python - 为什么我的媒体库中的图像没有显示在我的主页上?

python - 使用元组而不是 bool 运算符

python - pandas 滚动应用于数据框

python - 用 Python : x12a and x13as not found on path 进行 ARIMA 季节性预测

python - 如何让 python 在 osx 上加载 dylib

python - 如何检索查询集对象中字段的值