How to pass values from view.py to index.html in Django?

时间:2019-05-31 11:45:22

标签: python django mongodb

I have all these variables in my view.py on Django. And I want to put in on the index.html

def current_database(request):
    contador = Post.objects.count()
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["prueba2"]
    mycol = mydb["miapp_post"]
    template = loader.get_template('miapp/index.html')

    for x in mycol.find():
        dominio = x['dominio']
        porcentaje_movil = x['porcentaje_movil']
        orportunidades_movil = x['orportunidades_movil']
        diagnosticos_movil = x['diagnosticos_movil']
        porcentaje_ordenador = x['porcentaje_ordenador']
        oportunidades_ordenador = x['oportunidades_ordenador']
        diagnosticos_ordenador = x['diagnosticos_ordenador']
        return HttpResponse(template.render(dominio, porcentaje_movil, orportunidades_movil, diagnosticos_movil, porcentaje_ordenador, oportunidades_ordenador, diagnosticos_ordenador))

When i go to my index.html all go fine the conecction its fine, no problem with that, but for exmple y put:

<p>Dominio: {{ dominio }}</p>

or

<p>Dominio: {% dominio %}</p>

and I always get and error and i dont know how to pass these values to mi html. Thanks.

2 个答案:

答案 0 :(得分:0)

Just return the template like return render(request,'miapp/index.html',{'data': dominio}) and access it in HTML using {{ data }}. Don't forget to import render function using from django.shortcuts import render

答案 1 :(得分:0)

解决了,我做到了:

def current_database(request):
    contador = Post.objects.count()
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["prueba2"]
    mycol = mydb["miapp_post"]
    template = loader.get_template('miapp/index.html')

    for x in mycol.find():
        dominio = x['dominio']
        porcentaje_movil = x['porcentaje_movil']
        orportunidades_movil = x['orportunidades_movil']
        diagnosticos_movil = x['diagnosticos_movil']
        porcentaje_ordenador = x['porcentaje_ordenador']
        oportunidades_ordenador = x['oportunidades_ordenador']
        diagnosticos_ordenador = x['diagnosticos_ordenador']
        context = {
            'dominio': dominio,
            'porcentaje_movil': porcentaje_movil,
            'orportunidades_movil': orportunidades_movil,
            'diagnosticos_movil': diagnosticos_movil,
            'porcentaje_ordenador': porcentaje_ordenador,
            'oportunidades_ordenador': oportunidades_ordenador,
            'diagnosticos_ordenador': diagnosticos_ordenador,
        }
        return render(request, 'miapp/index.html', context)

在html中,我只是这样:

<p>Dominio: {{ dominio }}</p>