Django传递空参数

时间:2017-09-26 16:04:38

标签: python django django-views django-urls

我试图传递一个空参数来渲染模板,但我无法实现这一点我不知道问题是在urls.py还是视图中,我真的很感激一只手。

网址

url(r'^hola/(\b[a-z\.-]+)$', views.hola, name='hola'),

浏览

def hola(request, varr = ''):
    #val = val
    pregunta = Datos_usuario_DB.objects.all().order_by('-id').filter(activo="1")[:15]
    plantilla = {'': 'index.html', 'nosotros': 'nosotros.html'}
    return render(request, plantilla['%s' % varr], {'pregunta': pregunta})

当我访问hola /它说该网站不存在。

2 个答案:

答案 0 :(得分:2)

如果您希望/hola/正常工作,则可以轻松添加其他网址格式:

url(r'^hola/$', views.hola, name='hola'),
url(r'^hola/([a-z\.-]+)$', views.hola, name='hola'),

我不清楚为什么你在正则表达式中有\b,所以我删除了它。

答案 1 :(得分:1)

您的网址不包含hola/条目,因此返回错误。 如果您想致电hola/,则需要在urls.py

中添加网址