Seite 1 von 1

django - http response to template

Verfasst: Montag 19. Januar 2015, 11:23
von django-yip
Hallo zusammen,

ich bin neu hier und auch relativ neu in der Python sowie Django Welt.

Ich versuche gerade ein Export aus admin.py zu erstellen. Komme aber irgendwie nicht weiter und hoffe hier Hilfe zu erhalten.

In der admin.py habe ich folgendes rein gehackt:

Code: Alles auswählen

from django.contrib import admin
from blog.models import Blog
from django.http import HttpResponse
from django.core import serializers
def export_as_json(modeladmin, request, queryset):
    response = HttpResponse(content_type="application/json")
    serializers.serialize("json", queryset, stream=response)
    return response
Ich erhalte dann folgendes:
[{"pk": 2, "model": "blog.blog", "fields": {"date": "2015-01-05T09:53:42Z", "text": "Was wei\u00df ich, was hier rein muss?!", "title": "noch ein Test"}}]
Den Inhalt hätte ich gerne in ein Template in HTML. Jemand eine Idee wie man dies macht?

Danke!

Re: django - http response to template

Verfasst: Montag 19. Januar 2015, 11:43
von Sirius3
@django-yip: willst Du jetzt json oder HTML? Das Template-Tutorial von Django wäre ein guter Einstieg.

Re: django - http response to template

Verfasst: Montag 19. Januar 2015, 11:53
von django-yip
Sirius3 hat geschrieben:@django-yip: willst Du jetzt json oder HTML? Das Template-Tutorial von Django wäre ein guter Einstieg.
HTML hätte ich gern. Hab es aber bisher nur mit json hinbekommen.

Wenn ich jetzt:

Code: Alles auswählen

def export_as_json(modeladmin, request, queryset):
    response = HttpResponse(content_type="text/html")
    entries = Blog.objects.values('title','text')
    return render_to_response('export.html', locals())
mache, bekomme ich leider alles von Blog. Ich hätte aber nur die Ausgabe, welche ich per Checkbox ausgewählt habe.

Re: django - http response to template

Verfasst: Montag 19. Januar 2015, 12:21
von django-yip
Hab es hinbekommen :)

Statt

Code: Alles auswählen

 entries = Blog.objects.values('title','text')
einfach:

Code: Alles auswählen

entries = queryset
:)