0

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)

あなたの誰かが私を助けてくれることを願っています。前もって感謝します。

4

0 に答える 0