0
votes

Comment déclarer une nouvelle application dans le cadre de repos Django? Il semble que tout va bien mais j'ai runtimeError

Je veux déclarer une nouvelle application en Python à l'aide de la structure de repos Django.

J'ai d'abord fait des étapes ci-dessous: p> xxx pré>

puis j'ai déclaré un modèle dans Sarox_models .py code> sous sarox code> répertoire: p> xxx pré>

puis j'ai ajouté ci-dessous ligne à vues.py code> sous sarox code> répertoire: p> xxx pré>

puis crée une ligne dans installé_apps code> Classe de configuration dans le Paramètres.py Code> Fichier. P>

Voici mon Installation_apps code> Classe de configuration: P>

E:\MyApps\Plot\djrest>python manage.py runserver 0.0.0.0:2281
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "C:\Users\AMoha\AppData\Local\Programs\Python\Python37\lib\threading.py", line 926, in _bootstrap_inner
    self.run()
  File "C:\Users\AMoha\AppData\Local\Programs\Python\Python37\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\AMoha\AppData\Local\Programs\Python\Python37\lib\site-packages\django\utils\autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\AMoha\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\commands\runserver.py", line 109, in inner_run
    autoreload.raise_last_exception()
  File "C:\Users\AMoha\AppData\Local\Programs\Python\Python37\lib\site-packages\django\utils\autoreload.py", line 77, in raise_last_exception
    raise _exception[1]
  File "C:\Users\AMoha\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 337, in execute
    autoreload.check_errors(django.setup)()
  File "C:\Users\AMoha\AppData\Local\Programs\Python\Python37\lib\site-packages\django\utils\autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\AMoha\AppData\Local\Programs\Python\Python37\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\AMoha\AppData\Local\Programs\Python\Python37\lib\site-packages\django\apps\registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "C:\Users\AMoha\AppData\Local\Programs\Python\Python37\lib\site-packages\django\apps\config.py", line 116, in create
    mod = import_module(mod_path)
  File "C:\Users\AMoha\AppData\Local\Programs\Python\Python37\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'sarox'
...


5 commentaires

Il s'agit d'une question de Django, pas d'un «cadre de repos Django» (DRF n'est qu'un complément de «facilement» créant des API de repos à Django).


Et nous ne pouvons pas nous aider avec si peu d'informations ...


Oui. C'est la question de Django. Quel type d'informations avez-vous besoin pour aider?


Eh bien, les premières choses évidentes constitueraient la structure de votre application de votre application et votre sys.path .


@brunodesthuilliers J'ai ajouté une image de la structure de répertoire.


3 Réponses :


1
votes

Vous n'avez pas utilisé la commande startApp de Django? Je pense que vous devriez vérifier s'il existe un __ init __. Py fichier sous sarox dossier.


1 commentaires

Oui, j'ai utilisé la commande startApp . __ init __. py fichier sous sarox est vide.



0
votes

Vous pouvez démarrer une nouvelle application dans Django à l'aide de la commande Python Manage.py StartApp Votre nom d'application. Après que vous puissiez définir vos points de vue et vos sérialisateurs avec RDF.


0 commentaires

1
votes

djres n'est pas votre répertoire racine, c'est le répertoire "Projet" (le répertoire où Django recherche des paramètres, des URL racine, etc.), de sorte que le chemin Python actuel de votre package "Sarox" n'est pas Sarox mais djres.sarox .

Ceci étant dit, vos applications ne devraient pas vivre dans ce répertoire, elles doivent être directement dans le répertoire racine au même niveau que djres et manage.py , Donc, la solution correcte ici est de laisser votre paramètres.Instalded_apps seul et déplacez tout le répertoire Sarox un niveau supérieur.

En outre, Django s'attend également à ce que votre module de modèles soit nommé "modèles.py", pas "sarox_models.py". Vous devrez donc la corriger aussi (renommez le module et corrigez toutes vos importations) pour que votre application fonctionne.

Comme d'autres déjà mentionnées, l'utilisation de la commande de gestion startoracc de Django aurait créé la structure correcte des répertoires d'applications au bon endroit, ce qui vous permet de sauver tous ces problèmes.


0 commentaires