CreateView

时间:2017-09-25 12:57:39

标签: python django

如何使用get()或其他CreateView方法获取URL关键字参数?我尝试使用self.kwargs['arg_name'],但没有结果。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码

在视图中访问网址关键字

方法一

要访问基于类的视图中的网址参数,请使用self.argsself.kwargs,以便您通过self.kwargs['user_id']

访问它
url(r'^users/(?P<user_id>[0-9]+)/$',
views.your_view_name.as_view()),

在youe views.py中:

class your_class_name(CreateView):
    def view_name(self):
        upk=self.kwargs.get['user_id']
        print user_id
        ...

方法2

如果您在网址中传递关键字

/your_url?user_id=1

views.py

def view_name(request):
    user_id = request.GET.get('user_id')
    print user_id
    ....

来自Stackoverflow Link

的参考资料

希望这可以帮助你

答案 1 :(得分:0)

你是说这个吗?

class CreateMessageView(LoginRequiredMixin, CreateView):

    def get(self, request, *args, **kwargs):
        ret = super(CreateMessageView, self).get(request, *args, **kwargs)
        upk=self.kwargs['user_id']
        return ret

我测试了它......工作...... NIKHILS RANEs的答案有点正确。此行upk=self.kwargs['user_id']与他的upk=self.kwargs.get['user_id']不同。也许这就是你的问题