0

ユーザーが送信した情報を受け取る評価システムを実装しようとしていました。しかし、1 つのモデル ファイルに 2 つのクラスを含めることが可能かどうか疑問に思っていました。Could not import myapp.comments.views.stars. View does not exist in module myapp.comments.views.

私のモデルファイルには、

class CommentWithRating(Comment):
    rating = models.IntegerField()

    def save(self, *args, **kwargs):
        self.content_object.rating.add(score=self.rating, user=self.user, ip_address=self.ip_address)
        super(CommentWithRating, self).save(*args, **kwargs)

class Rating(models.Model):
    first_name = models.charField(maxlength=30)
    last_name = models.charField(maxlength=30)
    department = models.charField(maxlength=30)
    comment = models.charField(maxlength=10000)
    communi_rating = models.IntegerField()
    prepar_rating = models.IntegerField()
    interact_rating = models.IntegerField()
    help_rating = models.IntegerField()

ちなみにstarsはhtmlファイルです。何か案は?

これは私の見解です。

from django.shortcuts import render_to_response, render
from django.http import HttpResponse
from models import CommentWithRating
def stars(request):
    return render(request, 'star.html', {'score': ''})

私のエラーメッセージは単に、

myapp.comments.views.stars をインポートできませんでした。ビューがモジュール myapp.comments.views に存在しません。

私のトレースバックは、

環境: リクエスト方法: GET

ジャンゴ バージョン: 1.4

Python バージョン: 2.7.2

インストール済みアプリケーション:

('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', ' registration', 'django.contrib.admin', 'djangoratings') インストールされたミドルウェア: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware' 、「django.contrib.auth.middleware.AuthenticationMiddleware」、「django.contrib.messages.middleware.MessageMiddleware」)

トレースバック: ファイル "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 101.request.path_info) ファイル "/Library/ Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve 300. sub_match = pattern.resolve(new_path) ファイル "/Library/Frameworks/Python.framework /Versions/2.7/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve 209. return ResolverMatch(self.callback, args, kwargs, self.name) File "/Library/Frameworks/Python .framework/Versions/2.7/lib/python2.7/site-packages/django/core/urlresolvers.py" コールバック 216 で。 self._callback = get_callable(self._callback_str) ファイル "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/functional.py" in wrapper 27. result = func(*args) File "/Library/Frameworks/Python .framework/Versions/2.7/lib/python2.7/site-packages/django/core/urlresolvers.py" in get_callable 101. (lookup_view, mod_name))

例外の種類: ViewDoesNotExist at /rating/ 例外値: myapp.comments.views.stars をインポートできませんでした。ビューがモジュール >myapp.comments.views.` に存在しません。

4

1 に答える 1

2

ええ、それは間違いなく可能です。

してみてください

python ./manage.py shell

次に、問題を引き起こしているモデルまたはビューをインポートします。これにより、より有用なデバッグ情報が得られる可能性があります。

( Django からのビューが存在しないか、インポートできませんでした)

于 2012-08-14T16:24:40.137 に答える