django - http response to template

Django, Flask, Bottle, WSGI, CGI…
Antworten
django-yip
User
Beiträge: 31
Registriert: Montag 19. Januar 2015, 11:12

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!
Sirius3
User
Beiträge: 18255
Registriert: Sonntag 21. Oktober 2012, 17:20

@django-yip: willst Du jetzt json oder HTML? Das Template-Tutorial von Django wäre ein guter Einstieg.
django-yip
User
Beiträge: 31
Registriert: Montag 19. Januar 2015, 11:12

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.
django-yip
User
Beiträge: 31
Registriert: Montag 19. Januar 2015, 11:12

Hab es hinbekommen :)

Statt

Code: Alles auswählen

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

Code: Alles auswählen

entries = queryset
:)
Antworten