我在这个论坛上读了很多答案,但是它们不能解决我的问题。我将非常感谢您的帮助。
我的文件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(环境\ the_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(环境\ the_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) 仅文件index.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复制到目录模板(并修改其代码),但不幸的是它不起作用
答案 0 :(得分:2)
您需要将views
和urls
分开,在您的应用中创建一个新模块(文件)urls.py
,在您的情况下为weather
文件夹,然后添加在此处进行编码,并将其从views.py
中删除,您可以阅读here以便对其有更好的了解。
路径: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
答案 1 :(得分:0)
你为什么不这样尝试
from .views import index
答案 2 :(得分:0)
可能有单独的url和views.py文件夹 你要做的就是写 从应用程序名称导入视图 假设您的应用名称是myapp 你必须写 从myapp导入视图中
答案 3 :(得分:0)
使用过程中应在天气中创建新的url.py并在views.py中编写代码
url.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'))
]
答案 4 :(得分:0)
我遇到了类似的问题,但直到我在根目录中添加了一个空的views.py时,问题才得以解决,在您的情况下,将其添加到Environemnt \ the_weather \ the_weather
答案 5 :(得分:0)
您需要将您的 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