私のプロジェクトのディレクトリです:apps/goods/models.py 'apps.goods.models' appsはパッケージではありませんか?
apps/
goods/
models.py
views.py
base.py
trades/
users/
__init__.py
アプリケーション/雑貨/ base.py
from django.views.generic.base import View
from apps.goods.models import Goods
class GoodsListView(View):
def get(self, request):
json_list = []
goods = Goods.objects.all()[:10]
for good in goods:
# json_dict = {}
# json_dict['name'] = good.name
# json_dict['category'] = good.category.name
# json_dict['market_price'] = good.market_price
# json_dict['add_time'] = good.add_time
# json_list.append(json_dict)
from django.forms.models import model_to_dict
for good in goods:
json_dict = model_to_dict(good)
json_list.append(json_dict)
from django.http import HttpResponse
import json
return HttpResponse(json.dumps(json_list), content_type='application/json')
私はデバッグbase.pyだデータを得るが、エラーを取得できません:
from apps.goods.models import Goods
ModuleNotFoundError: No module named 'apps.goods'; 'apps' is not a package
、「apps.goods.models」の「apps」を削除すると、エラーが表示されます。
from goods.models import Goods
ModuleNotFoundError: No module named 'goods'
ENV:
pycharm-2017.2
django-1.11.6
なぜエラーが出ますか?
がhttpsをパッケージ化するために__init__.pyファイルを追加インポート:// stackoverflow.com/questions/448271/what-is-init-py-for – Vermus
私のアプリ/ include __init__.py、こちらをご覧くださいhttp://oo8h584mv.bkt.clouddn.com/%E6%8D%95%E8%8E %B7.PNG – mmy
アプリではなく、商品パッケージからインポートするには__init.py__を追加する商品パッケージを作成する必要があります – Vermus