【问题标题】:Django views and requestsDjango 视图和请求
【发布时间】:2020-10-26 17:36:23
【问题描述】:

如何在 Django 视图中捕获和处理任意请求?

例如:

def index(request):
    template_name = 'index.html'
     
    users = User.objects.all()

    return render(request, template_name, {'users': users})

这里的request参数只负责加载索引页面,对吗?但是我如何处理来自前端的任意请求,例如,我的视图已经从数据库中获取了数据。我需要将它转移到我的应用程序的前端部分。我该怎么做?不使用上下文。

来自 JS 的请求:

fetch('index.html', {
method: 'GET',
}).then(response => response.json()).then(data => console.log(data))

【问题讨论】:

    标签: javascript django django-views python-requests fetch


    【解决方案1】:

    您可以使用 request.session

    例如:

    def index(request):
        template_name = 'index.html'
     
        users = User.objects.all()
        request.session["users"] = users #add users list to request.session dict. 
    
        return render(request, template_name)
    
    def alluser(request):
        template_name = 'profile.html'
        if request.session["users"]:
            return render(request, template_name)
        else:
            return redirect('/index')
    

    首先,您需要进入视图页面,从数据库中提取所有用户一次,并将它们打印在“request.session”上。然后,您可以使用“request.session”在任何页面上显示此信息。

    当你进入 alluser 页面时,你可以通过 {{request.session.users}}

    显示用户信息

    【讨论】:

      猜你喜欢
      • 2021-09-13
      • 2011-04-06
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 1970-01-01
      • 2021-05-03
      • 2016-05-07
      相关资源
      最近更新 更多