[英]Cannot import name 'views',.Python, Django
我在这个论坛上阅读了很多答案,但它们并没有解决我的问题。 我将非常感谢您的帮助。
我的文件 views.py 返回此错误:
from . import views
ImportError: cannot import name 'views' from '__main__' (C:/Users/tymot/Desktop/weather app/env/Environemnt/the_weather/weather/views.py)
views.py (Environemnt\the_weather\weather)
from django.shortcuts import render
from django.contrib import admin
def index(request):
return render(request, 'weather/index.html') #returns the index.html
urls.py (Environemnt\the_weather\weather)
from django.urls import path
from . import views
urlpatterns = [
path('', views.index), #the path for our index view
]
urls.py (环境\the_weather\the_weather)
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('weather.urls')),
模板(the_weather\weather\templates\weather)仅文件索引。html
目录
-the_weather
--the_weather
---__init__
---setting
---urls
---wsgi
--weather
---migrations
----__init__
---templates
----weather
-----index
---__init__
---admin
---apps
---models
---tests
---urls
---views
--db
--manage.py
我尝试使用from __future__ import absolute_import
或homepage import views
解决我的问题。 我还尝试将views.py复制到目录模板(并修改其代码),但不幸的是它不起作用
您需要将views
和urls
分开,在您的应用程序中创建一个新模块(文件) urls.py
,在您的情况下它是weather
文件夹,并在那里添加这些代码,然后从views.py
删除它,您可以在此处阅读有关它的信息更好地理解它。
路径: the_weather/weather/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index), #the path for our index view
]
路径: the_weather/weather/views.py
from django.shortcuts import render
from django.contrib import admin
def index(request):
return render(request, 'weather/index.html') #returns the index.html template
你为什么不试试这个
from .views import index
可能有单独的 urls 和 views.py 文件夹,你需要做的是你必须从 appname 导入视图中编写假设你的应用程序名称是 myapp 你必须从 myapp 导入视图中编写
使用应该在天气中创建新的 url.py 并在 views.py 中编写代码
网址.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index')
]
在项目的 urls.py 中编写代码
from django.urls import path, include
from . import views
urlpatterns = [
path('wheather/',include('wheather'))
]
我有类似的问题,它没有解决,直到我在 root 中添加了一个空的 views.py 例如,在你的情况下添加到 Environemnt\\the_weather\\the_weather
您需要将您的 views.py 文件放在您的天气文件夹中。 确保它在正确的天气文件夹中,我猜你有两个天气文件夹。 还要确保这些代码是正确的;
#Path : the_weather/weather/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index), #the path for our index view
]
#Path : the_weather/weather/views.py
from django.shortcuts import render
from django.contrib import admin
def index(request):
return render(request, 'weather/index.html') #returns the index.html template
from django.contrib import admin
from django.urls import path
import main.views
urlpatterns = [
path('admin/', admin.site.urls),
path('', main.views.home_page, name="home_page"),
]
好吧,我也面临同样的问题。 我不断收到服务器错误,但后来我发现这是一个简单的错误。
go 到 urls.py 文件
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name = index), #the path for our index view
]
我只需要删除name = index
并且服务器出现 0 个错误。
是您的问题现在已经解决了吗,我正在学习Python速成课程,并且遇到了相同的问题,如果您可以共享解决方案,我将不胜感激!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.