我正在嘗試使用本教程系列在 Django 中運行網路服務器:https : //www.youtube.com/watch?v=Rpi0Ne1nMdk&list=PLPSM8rIid1a3TkwEmHyDALNuHhqiUiU5A
當我嘗試在 urls.py 中匯入腳本“landing.views”時出現錯誤,這里是錯誤的全部內容:
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
File "C:\Users\trevo\AppData\Local\Programs\Python\Python39\lib\threading.py", line 973, in _bootstrap_inner
self.run()
File "C:\Users\trevo\AppData\Local\Programs\Python\Python39\lib\threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\trevo\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "C:\Users\trevo\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\management\commands\runserver.py", line 110, in inner_run
autoreload.raise_last_exception()
File "C:\Users\trevo\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\autoreload.py", line 87, in raise_last_exception
raise _exception[1]
File "C:\Users\trevo\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\management\__init__.py", line 375, in execute
autoreload.check_errors(django.setup)()
File "C:\Users\trevo\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "C:\Users\trevo\AppData\Local\Programs\Python\Python39\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\trevo\AppData\Local\Programs\Python\Python39\lib\site-packages\django\apps\registry.py", line 91, in populate
app_config = AppConfig.create(entry)
File "C:\Users\trevo\AppData\Local\Programs\Python\Python39\lib\site-packages\django\apps\config.py", line 224, in create
import_module(entry)
File "C:\Users\trevo\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'views'
這是在 urls.py 中生成上面看到的錯誤的代碼:
from django.urls import path
from landing.views import Index
urlpatterns = [
path('', Index.as_view(), name='index'),
]
我還嘗試查看其他用戶創建的帖子,如下所示:ImportError: cannot import name 'Index' from ' landing.views ' , Django error in urlpatterns: No module named views , Cannot import name views,但是,第一個鏈接目前沒有回答,后面幾個與我目前使用的代碼沒有真正的關系。我還嘗試了其他方法,例如在我的 powershell 應用程式中使用
sys.path.insert(1, 'C:/Users/trevo/OneDrive/Desktop/VegaAiTest/ChattingPlatform/src/VegaPlatform/landing/urls.py')和sys.path.append("C:/Users/trevo/OneDrive/Desktop/VegaAiTest/ChattingPlatform/src/VegaPlatform/landing/urls.py")使用SET PYTHONPATH=命令。我到底做錯了什么可能導致這些錯誤?任何幫助將不勝感激,謝謝!
uj5u.com熱心網友回復:
views.py從專案目錄移動到應用程式目錄。如果您不明白其中的區別,請向我展示ls -laR輸出。
您是否將站點從landing其他內容重命名?from landing.views import Index如果是這樣更新。
uj5u.com熱心網友回復:
問題是當你通過不帶路徑的單引號將路徑留空時,Django 將在專案目錄中搜索視圖。
否則,在 中urlpatterns,您應該始終使用views.這樣的前綴作為視圖路徑views.index
所以要解決,有辦法:
解決方案1
import landing.views ?urlpatterns? ?=? [ path?(?''?, ?landing?.?views?.?Index.as_view()?, ?name?=?'index'?), ]解決方案2
from landing.views import Index ?urlpatterns? ?=? [ path('index/', views.Index.as_view(),name='index'), ]解決方案 3:在登陸應用程式內創建
urls.py一個添加from views import Index ?urlpatterns? ?=? [ path('index/', views.Index.as_view(),name='index') ]
并project/urls.py補充
?
from? ?django?.?urls? ?import? ?include?, ?path
?urlpatterns? ?=? [
path('landing/', include('landing.urls') ),
]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/330709.html
