Bonjour,
J'ai commencé à utiliser votre doc pour créer un module mais je suis bloqué sur une commande.
Code : v:\Python\creme2>python manage.py makemigrations editors
File "v:\Python\creme2\creme\editors\models\__init__.py", line 3, in <module>
from editor import Editor
ModuleNotFoundError: No module named 'editor'
ou
cd
Code : v:\Python\creme2\creme>python manage.py makemigrations editors
python: can't open file 'manage.py': [Errno 2] No such file or directory
J'ai essayé en essayant la casse avec le 'E' majuscule, j'ai le même problème
Code : ma structure creme2-I
I --- creme I
I
I --- editors I __init__.py
I --- models I __init__.py
I editor.py
je tourne en rond.
01-11-2020, 01:44
Bon j'ai beau retourner le problème je ne comprends pas pourquoi le module n'est pas trouvé !!
Code : (pjt_creme2) v:\Python\creme2>python v:\Python\creme2\manage.py makemigrations editors
Traceback (most recent call last):
File "v:\Python\creme2\manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "V:\Python\pjt_creme2\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
utility.execute()
File "V:\Python\pjt_creme2\lib\site-packages\django\core\management\__init__.py", line 357, in execute
django.setup()
File "V:\Python\pjt_creme2\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "v:\Python\creme2\creme\__init__.py", line 23, in _hooked_populate
_original_populate(self, installed_apps)
File "V:\Python\pjt_creme2\lib\site-packages\django\apps\registry.py", line 114, in populate
app_config.import_models()
File "V:\Python\pjt_creme2\lib\site-packages\django\apps\config.py", line 211, in import_models
self.models_module = import_module(models_module_name)
File "V:\Python\pjt_creme2\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 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "v:\Python\creme2\creme\editors\models\__init__.py", line 3, in <module>
from editor import Editor
ModuleNotFoundError: No module named 'editor'
Une autre question se pose :
si j'utilise la commande "django-admin startapp" le dossier créé contient models.py et non un dossier "models" comme indiquer dans l'exemple de création (castors / beavers). Pourquoi ?
Peut-être une erreur dans project_settings.py
Code : # -*- coding: utf-8 -*-
# Here we declare project specific settings which need to be versionned.
# For example
#
# from .settings import INSTALLED_CREME_APPS
# PROJECT_APPS = 'custom_persons',
# PROJECT_APPS = 'editors',
# INSTALLED_CREME_APPS = INSTALLED_CREME_APPS + PROJECT_APPS
# PERSONS_CONTACT_MODEL = 'custom_persons.CustomContact'
INSTALLED_CREME_APPS = [
# CREME CORE APPS
'creme.creme_core',
'creme.creme_config',
'creme.documents',
'creme.activities', # Extra features if 'assistants' is installed.
'creme.persons',
# CREME OPTIONAL APPS (can be safely commented)
'creme.assistants',
'creme.graphs',
'creme.reports',
'creme.products',
'creme.recurrents',
'creme.billing', # Need 'products'
'creme.opportunities', # Need 'products'. Extra features if 'billing' is installed.
'creme.commercial', # Need 'opportunities'
'creme.events', # Need 'opportunities'
'creme.crudity',
'creme.emails', # Extra features if 'crudity' is installed.
# 'creme.sms', # Work In Progress
'creme.projects',
'creme.tickets',
# 'creme.cti',
# 'creme.activesync', # NOT AVAILABLE ANY MORE
'creme.vcfs',
# 'creme.polls', # Need 'commercial'
# 'creme.mobile',
'creme.geolocation',
'creme.editors', # NOUVEAU MODULE pour les articles
]
Bonsoir,
J'ai trouvé le problème !!!!
Dans la doc du castor/beaver
Code : Extrait documentation
Là encore, pour que le répertoire models/ soit un module, nous devons y mettre un second fichier nommé __init__.py, et qui contient :
# -*- coding: utf-8 -*-
from beaver import Beaver
il faut mettre : (une petit point en plus)
from .beaver import Beaver
Bonjour,
Je continue dans la création du module en suivant les directives de la doc exemple et j'ai ce souci en lançant le serveur
Code : File "v:\Python\creme2\creme\editors\urls.py", line 11, in <module>
re_path(r'^editors[/]?$', editor.ListView, name='editors__list_editors'),
AttributeError: module 'creme.editors.views.editor' has no attribute 'ListView'
J'ai dans editor
Code : # -*- coding: utf-8 -*-
from creme.creme_core.views import generic
from creme.editors.models import Editor
from ..forms.editor import EditorForm
class EditorsList(generic.EntitiesList):
model = Editor
class EditorCreation(generic.EntityCreation):
model = Editor
form_class = EditorForm
class EditorDetail(generic.EntityDetail):
model = Editor
pk_url_kwarg = 'editor_id'
class EditorEdition(generic.EntityEdition):
model = Editor
form_class = EditorForm
pk_url_kwarg = 'editor_id'
mon urls.py
Code : # -*- coding: utf-8 -*-
from django.urls import re_path
from .views import editor
urlpatterns = [
re_path(r'^editors[/]?$', editor.EditorsList.as_view(), name='editors__list_editors'),
]
urlpatterns = [
re_path(r'^editors[/]?$', editor.ListView, name='editors__list_editors'),
re_path(r'^editor/add[/]?$', editor.EditorCreation.as_view(), name='editors__create_editor'),
re_path(r'^beaver/edit/(?P<beaver_id>\d+)[/]?$', editor.EditorEdition.as_view(), name='editors__edit_editor'),
re_path(r'^editor/(?P<beaver_id>\d+)[/]?$', editor.EditorDetail.as_view(), name='editors__view_editor'),
]
urlpatterns = [
re_path(r'^editors[/]?$', editor.listview, name='editor'),
re_path(r'^editor/add[/]?$', editor.EditorCreation.as_view(), name='editor'),
]
Qu'est ce que j'ai oublié ?
Citation :si j'utilise la commande "django-admin startapp" le dossier créé contient models.py et non un dossier "models" comme indiquer dans l'exemple de création (castors / beavers). Pourquoi ?
Souvent on commence avec juste un fichier models.py, et quand/si il devient trop gros on finit par le découper. Mais c'est pareil au final.
Citation :il faut mettre : (une petit point en plus)
Merci pour le retour ; j'ai corrigé ça, ainsi que d'autres erreurs du même genre (il y a le même problème avec "status") ; ça sera dans la prochaine version. Si vous voulez votre nom dans la section errata de la documentation c'est le moment de demander.
Bon courage pour la suite !
(02-11-2020, 15:33)genglert a écrit : Citation :si j'utilise la commande "django-admin startapp" le dossier créé contient models.py et non un dossier "models" comme indiquer dans l'exemple de création (castors / beavers). Pourquoi ?
Souvent on commence avec juste un fichier models.py, et quand/si il devient trop gros on finit par le découper. Mais c'est pareil au final.
Citation :il faut mettre : (une petit point en plus)
Merci pour le retour ; j'ai corrigé ça, ainsi que d'autres erreurs du même genre (il y a le même problème avec "status") ; ça sera dans la prochaine version. Si vous voulez votre nom dans la section errata de la documentation c'est le moment de demander.
Bon courage pour la suite !
Pourquoi pas pour nom dans la section errata
Je continue à suivre les instructions de la création d'un module
Citation :Pourquoi pas pour nom dans la section errata
Dites-moi ce que je mets, sinon ça sera juste "Patix".
(02-11-2020, 17:02)genglert a écrit : Citation :Pourquoi pas pour nom dans la section errata
Dites-moi ce que je mets, sinon ça sera juste "Patix".
Patix, c'est très bien.
Avez vous une idée pour m'aiguiller pour ce message ?
"AttributeError: module 'creme.editors.views.editor' has no attribute 'ListView'"
editor remplace beaver
N'hésitez pas à :
- activer le mode debug dans votre local_settings.py pendant le développement avec ''DEBUG = True".
- installer ipython puis jouer avec la console (python manage.py shell) pour tester des choses.
- installer un IDE qui vous aidera à trouver des erreurs avant l'exécution (PyCharm version communautaire dans mon cas).
|