Error importing data Times, ModuleNotFoundError: No module named 'Mxshop.settings'

recently, I was studying a Django REST framework tutorial. I made an error when writing a script to import data into the database. Please take a look at it. Thank you.
Development Environment: win10+python3.6+django2.0
Project directory structure is as follows:

error message:

C:\Users\Administrator\Envs\mxonline\Scripts\python.exe D:/code/Mxshop/db_tools/import_category_data.py
Traceback (most recent call last):
  File "D:/code/Mxshop/db_tools/import_category_data.py", line 14, in <module>
    django.setup()
  File "C:\Users\Administrator\Envs\mxonline\lib\site-packages\django\__init__.py", line 19, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "C:\Users\Administrator\Envs\mxonline\lib\site-packages\django\conf\__init__.py", line 56, in __getattr__
    self._setup(name)
  File "C:\Users\Administrator\Envs\mxonline\lib\site-packages\django\conf\__init__.py", line 43, in _setup
    self._wrapped = Settings(settings_module)
  File "C:\Users\Administrator\Envs\mxonline\lib\site-packages\django\conf\__init__.py", line 106, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "C:\Users\Administrator\Envs\mxonline\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named "MxShop"

manage.py

-sharp!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Mxshop.settings")
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn"t import Django. Are you sure it"s installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)

import_category_data.py

-sharp -*- coding: utf-8 -*-

-sharpdjangomodel
import sys
import os


pwd = os.path.dirname(os.path.realpath(__file__))
sys.path.append(pwd+"../")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "MxShop.settings")

import django
django.setup()

from goods.models import GoodsCategory

from db_tools.data.category_data import row_data

for lev1_cat in row_data:
    lev1_intance = GoodsCategory()
    lev1_intance.code = lev1_cat["code"]
    lev1_intance.name = lev1_cat["name"]
    lev1_intance.category_type = 1
    lev1_intance.save()

    for lev2_cat in lev1_cat["sub_categorys"]:
        lev2_intance = GoodsCategory()
        lev2_intance.code = lev2_cat["code"]
        lev2_intance.name = lev2_cat["name"]
        lev2_intance.category_type = 2
        lev2_intance.parent_category = lev1_intance
        lev2_intance.save()

        for lev3_cat in lev2_cat["sub_categorys"]:
            lev3_intance = GoodsCategory()
            lev3_intance.code = lev3_cat["code"]
            lev3_intance.name = lev3_cat["name"]
            lev3_intance.category_type = 3
            lev3_intance.parent_category = lev2_intance
            lev3_intance.save()
            
Jun.09,2022

directory structure provides


import module has a problem, reorganize the hierarchical relationship between modules


Note that the path to script execution is the current path of the script
os.chdir ("..")
a=os.getcwd ()
print (a)
os.environ.setdefault ("DJANGO_SETTINGS_MODULE", "MxShop.settings")
sys.path.append (a)

import django
django.setup ()


have you solved the problem


has the landlord solved it? It didn't work even if I changed it according to the comments. The path is right

Menu