0

我有一个 Django 应用程序,它有两个视图请求。第一个请求(“add_item”)是添加请求,它进行一些验证,然后最终将一个项目添加到用户的队列中。第二个请求点击用户的 facebook 提要,遍历帖子,并将其中的一些添加到他们的队列中。理想情况下,我不想在第二个请求中复制 add 的逻辑。我宁愿在第二个请求的循环中调用第一个请求。

我无法弄清楚如何做到这一点,并且仍然在请求中传递用户的上下文。有没有人有如何做到这一点的例子?我尝试传入第一个请求所需的 POST 数据和用户上下文:

request = { "POST": { "queue_id": 1, "data": "some_data_to_add" }, "user": request.user }
add_item(request)

但是, request.user 没有正确序列化。我也很确定我不能以这种方式传递 POST 数据,我确信它还需要以某种方式进行序列化。总的来说,我认为这不是执行此类操作的标准方法。

4

1 回答 1

0

创建一个单独的视图,该视图执行将项目添加到队列中的任务,并从第一个和第二个视图调用该函数。

例如:

def adding_items(<necessary params>):
    item add logic here.

def first_view(request):
    # call adding items to update queue.
    adding_items( <params> )

def second_view(request):
    # call adding items to update queue.
    adding_items( <params> )

就是这样 :)

于 2013-06-16T03:46:53.397 回答