HTMLファイルを通常のブラウザに提供し、HTMLを理解し、XMLファイルを他のクライアントに提供する必要があるDjangoアプリがあります。私のviews.pyでは、着信HTTPリクエストにあるさまざまなHTTP_ACCEPTタグを区別しようとしています。通常の HTML ファイルが意図したとおりに提供されるため、これは既に機能しているようです。
XML ファイルを提供しようとすると、次のようなエラーが表示されます。
/appstore/ の ValueError ビュー appstore.views.index が HttpResponse オブジェクトを返しませんでした。
これが私のviews.pyです
from appstore.models import App
from django.shortcuts import render_to_response, get_object_or_404
from django.http import HttpResponse
from django.core import serializers
def index(request):
if (request.META['HTTP_ACCEPT'].find('text/html') != -1):
latest_app_list = App.objects.all().order_by('name')[:5]
return render_to_response('appstore/index.html', {'latest_app_list': latest_app_list})
else:
def xml_view(func):
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
return HttpResponse(serializers.serialize("xml", result),
mimetype="text/xml")
return wrapper
@xml_view
def index(request):
return App.objects.all()
@xml_view
def get(request, id):
return get_object_or_404(App, pk=app_id)
あなたの誰かが私を助けてくれることを願っています。前もって感謝します。