2017-09-26 5 views
1

Actuellement, j'utilise Django 1.9 et Django Rest Framework. J'essaye d'utiliser Sphinx et ses fonctions autodoc, mais je frappe une erreur sur make html. Le fichier models.py ne pas importer.Sphinx: erreur d'exécution django 1.9

myapp/ 
    manage.py 
    index.rst 
    myapp/ 
     __init__.py 
     settings.py 
    users/ 
     models.py 
    source/ 
     modules.rst 
     users.rst 

settings.py

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'django.contrib.sites', 
    'myapp', 
    'users', 
) 

et l'erreur que je reçois est:

WARNING: /home/sestrella/Devel/leroi-angular/source/customers.rst:10: (WARNING/2) autodoc: failed to import module u'users.models'; the following exception was raised: 
Traceback (most recent call last): 
    File "/home/me/.virtualenvs/myapp/local/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 657, in import_object 
    __import__(self.modname) 
    File "/home/me/Devel/myapp/users/models.py", line 3, in <module> 
    from django.contrib.auth.models import User, Group 
    File "/home/me/.virtualenvs/myapp/local/lib/python2.7/site-packages/django/contrib/auth/models.py", line 6, in <module> 
    from django.contrib.contenttypes.models import ContentType 
    File "/home/me/.virtualenvs/myapp/local/lib/python2.7/site-packages/django/contrib/contenttypes/models.py", line 161, in <module> 
    class ContentType(models.Model): 
    File "/home/me/.virtualenvs/myapp/local/lib/python2.7/site-packages/django/db/models/base.py", line 112, in __new__ 
    "INSTALLED_APPS." % (module, name) 
RuntimeError: Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS. 
/home/me/Devel/myapp/source/modules.rst:4: WARNING: toctree contains reference to nonexisting document u'source/ users' 

modules.rst

myapp 
============= 

.. toctree:: 
    :maxdepth: 4 

    users 

et users.rst

users 
================ 

Modules 
---------- 

users.models 
---------------------- 

.. automodule:: users.models 
    :members: 
    :undoc-members: 
    :show-inheritance: 

Pourquoi le fichier users.models ne parvient pas à importer? J'utilise le modèle ContentType dans mes users.models comme une relation générique.

Répondre

0

Je ne sais pas si cela est une solution d'erreur, ou une solution de contournement:

à conf.py, ajouter:

import django 
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings' 
django.setup()