在我的url调度中添加两个id

2024-10-01 02:24:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python/django比较陌生。我在通过我的网址.py. 在

我正在尝试添加一个管理员到我的项目中的业务配置文件页面。在

我的视图.py公司名称:

@login_required
def make_admin(request, bus_id, user_id):
user = request.user
u = get_object_or_404(User, pk = user_id)
b = get_object_or_404(Business, pk = bus_id)
b.admin.add(u)
followcount = b.followers.count()
photo = BusinessLogo.objects.all().filter(business_link = bus_id)[:1]
return render_to_response('business/followers.html',
                    {'user':user, 'b':b, 'followcount':followcount, 'photo':photo, 'u':u}, context_instance=RequestContext(request))

在我的模板中,我试图传递总线标识和用户标识,但我一直得到一个语法错误,我认为这与我的网址有关。在

我的模板:

^{pr2}$

我的网址.py目前:

url(r"^make/(?P<bus_id>\d+)/(?P<user_id>\d+)/$", make_admin, name="make_admin"),
url(r"^remove/(?P<bus_id>\d+)/(?P<user_id>\d+)/$", remove_admin, name="remove_admin"),

我很难弄清楚我的用户如何添加网址。上面的例子不起作用。在

谢谢大家

史蒂夫

编辑:Im出现的错误是:

呈现时捕获到NoReverseMatch:找不到参数为“(1L,”)“和关键字参数{}”的“remove\u admin”的反向。在


Tags: orpyidgetmakeobjectadminrequest
2条回答

我能看到的唯一错误是{% if follow in b.admin.all %}在您发布的代码中上下文中没有follow变量。在

如果您发布了错误或堆栈跟踪的更多详细信息,这将是最有帮助的。在

编辑:好的,您的错误很有帮助:)

呈现时捕获到NoReverseMatch:找不到参数为“(1L,”)“和关键字参数{}”的“remove\u admin”的反向。在

这意味着url反转函数有两个参数1L和{}。 1L我只是将整数1作为python的长整数,''表示传入了None或一个空白字符串。在

由于在模板中使用{% url remove_admin b.id u.id %}调用url反转,第二个参数是u.id的值。检查u变量的值,它似乎没有有效的id属性,因此它可能不是您所期望的(我猜它根本不是User对象)

您没有以传递给上下文的方式引用用户对象,而是在模板中使用u.id来传递它。在

相关问题 更多 >