繁体   English   中英

无法导入名称“视图”,.Python,Django

[英]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_importhomepage import views解决我的问题。 我还尝试将views.py复制到目录模板(并修改其代码),但不幸的是它不起作用

您需要将viewsurls分开,在您的应用程序中创建一个新模块(文件) 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

我有同样的问题点击图片

单击图像目录中的图像 formsdemo\\formsdemo_ init _.py 我将导入模块更改为 from forms app import views 它工作得更好首先检查目录

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM