J'essaye de créer une page Web en utilisant Python et Django . Je viens de créer un modèle simple et j'ai essayé d'exécuter le serveur, mais j'obtiens des erreurs et je ne suis pas en mesure de comprendre.
Je vérifie toute l'orthographe de mes projets et j'ai recherché les problèmes similaires, mais je ne suis pas en mesure de résolvez-le.
settings.py
"C:\Users\User\Desktop\python_work\project_3\learning_log\11_env\lib\site-packages\django\urls\resolvers.py", line 535, in url_patterns
iter(patterns)
TypeError: 'module' object is not iterable
During handling of the above exception, another exception occurred:
.....
"C:\Users\User\Desktop\python_work\project_3\learning_log\11_env\lib\site-packages\django\urls\resolvers.py", line 542, in url_patterns
raise ImproperlyConfigured(msg.format(name=self.urlconf_name))
django.core.exceptions.ImproperlyConfigured: The included URLconf '<module 'learning_logs.urls' (namespace)>'
does not appear to have any patterns in it.
If you see valid patterns in the file then the issue is probably caused by a circular import.
urls.py
XXX
views.py
"""Defines url patterns for learning_logs."""
from django.urls import path
from . import views
app_name = 'learning_logs'
urlpatterns = [
# Home page.
path('', views.index, name='index'),
]
urls.py // Ceci est la seconde URL
from django.shortcuts import render
# Create your views here.
def index(request):
"""The home page for Learning Log"""
return render(request, 'learning_logs/index.html')
Erreur sur l'invite de commande lorsque j'ai essayé d'exécuter le serveur:
from django.urls import path, include
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('learning_logs.urls')),
]
3 Réponses :
Vous avez créé deux chemins dans les deux urls.py pour la page /.
Comme je le sais, ce n'est pas la bonne manière.
Vous devez créer un chemin vers /. Et créez le deuxième chemin en donnant n'importe quel nom de chemin comme
chemin (apprendre / '', inclure ('learning_logs.urls')
Dans votre projet urls.py, essayez de changer comme:
from django.urls import path, re_path, include
urlpatterns = [
path('admin/', admin.site.urls),
re_path(r'^', include('learning_logs.urls')),
]
Si vous voyez des modèles valides dans le fichier, le problème est probablement dû à une importation circulaire.
Vous devez d'abord vérifier que tous les packages installés sont installés dans l'environnement virtuel.
En cas de doute,
Supprimons tout sauf de setuptools, pkg_resources, pip des packages de site.
et puis Réinstaller dans un environnement virtuel
$ python3 -m pip install -r requirements.txt