0

次のエラーが表示されます

Django Version:     1.4
Exception Type:     ViewDoesNotExist
Exception Value:    

Could not import ratings.views.HotelRating. View does not exist in module ratings.views.

しかし、ここに私のviews.py

from django.http import HttpResponseRedirect
from django.contrib.auth.models import User
from django.shortcuts import render_to_response
from ratings.models import Hotel_Rating, Restaurant_Rating, Cafe_Rating, Pastry_Rating
from services.models import *
from ratings.forms import Hotel_Rating_From
from django.template import RequestContext

def HotelRating(request):
    if request.method == 'POST':
        form = Hotel_Rating_From(request.POST)
        if form.is_valid():
            user_id = form.cleaned_data['user_id']
            hotel_id = form.cleaned_data['hotel_id']
            user = User.objects.get(id = user_id)
            hotel = Hotel.objects.get(id = hotel_id)
            review = Hotel_Rating(hotel_id = hotel.id, user_id = user.id, overall_rating = form.cleaned_data['overall_rating'], service = form.cleaned_data['service'], cleanliness = form.cleaned_data['cleanliness'], location = form.cleaned_data['location'], rooms = form.cleaned_data['rooms'], restaurant = form.cleaned_data['restaurant'], room_service = form.cleaned_data['room_service'], price = form.cleaned['price'], comment = form.cleaned_data['comment'])
            review.save()
            return HttpResponseRedirect('/')
        else:
            form = Hotel_Rating_From(request.POST)
            return render_to_response('hotelreview.html', {'form': form}, context_instance = RequestContext(request))

ここに私のurls.pyファイルがあります

urlpatterns = patterns('',

    url(r'^admin/', include(admin.site.urls)),
    (r'^register/$', 'reviewers.views.ReviewerRegistration'),
    (r'^hotelrating/$', 'ratings.views.HotelRating'),
    (r'^login/$', 'reviewers.views.LoginRequest'),

)

何を間違えたのかわかりません。settings.py の INSTALLED_APPS に評価アプリを追加しました。

4

2 に答える 2

2

おそらく循環インポートがあります。import ステートメントを def 内に移動して、それが役立つかどうかを確認します。

def HotelRating(request):
    from ratings.models import Hotel_Rating
于 2012-07-31T13:11:18.183 に答える
1

ratings/views.py最も単純なビューファイルに分解しましたか?非常にシンプルなビューで動作させることができる場合は、そこから現在の状態まで作業を進めてください。

また、関数(になる)とクラスに名前を付けるときは、 PEP8に従うことを検討してください。これにより、このサイトを含め、コードを共有するすべての人が簡単になります。HotelRatinghotel_rating

于 2012-07-31T13:33:41.493 に答える