Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 第一个django项目,显示错误,没有名为';民意测验';_Python_Django - Fatal编程技术网

Python 第一个django项目,显示错误,没有名为';民意测验';

Python 第一个django项目,显示错误,没有名为';民意测验';,python,django,Python,Django,我遵循Django官方文件,正在编写民意测验应用程序 在mysite包中,它说当我运行它时,没有名为“polls”的模块,我如何解决它 我的python是3.6,Django是1.10.2 这是我的目录 ├── db.sqlite3 ├── manage.py ├── mysite │ ├── __init__.py │ │ ├── __pycache__ │ ├── settings.py │ │ ├── urls.py │ └── wsgi.py └── po

我遵循Django官方文件,正在编写民意测验应用程序

在mysite包中,它说当我运行它时,没有名为“polls”的模块,我如何解决它

我的python是3.6,Django是1.10.2

这是我的目录

├── db.sqlite3
├── manage.py
├── mysite
│   ├── __init__.py
│   
│   ├── __pycache__
│   ├── settings.py
│   
│   ├── urls.py
│   └── wsgi.py
└── polls
    ├── __init__.py
    ├── __pycache__
    ├── admin.py
    ├── models.py
    ├── tests.py
    ├── urls.py
    ├── views.py
    └── apps.py
mysite\url.py

from django.conf.urls import include, url
from django.contrib import admin
import polls
urlpatterns = [
    url(r'^polls/', include('polls.urls')),
    url(r'^admin/', admin.site.urls),
   ]
在settings.py中安装的应用程序

 INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls',

 ]
文档中还有另一个问题,文档类型:

from django.conf.urls import url

from . import views

urlpatterns = [
url(r'^$', views.index, name='index'),
   ]

当我运行它时,它说无法导入名称“视图”,我将从中删除,然后它就工作了。但是上面的问题仍然没有解决,有人能告诉我为什么吗???

听起来你好像没有安装
轮询应用程序


转到
settings.py
,在其中查找
已安装的应用程序=[…]
,并将
'polls',
添加到该列表中。

我感觉这个问题与安装环境有关

对于第一个问题,请尝试
url(r'^polls/',include('mysite.polls.url'),

对于第二个问题,请尝试从轮询导入视图中导入
,或者坚持使用
导入视图


如果这不起作用,我建议重新启动教程,因为很明显,环境没有相应地进行设置。另一方面,代码非常好。

您正在使用的TCP端口是否可用?该示例告诉您尝试
http://localhost:8000/polls/
但端口8000可能已经在使用。 使用命令(在Windows中)

在Linux中,命令应该是

netstat -an|grep 8080
为了检查端口8080的可用性(我随机选择了端口号)

如果目标端口可用(例如,为了便于讨论),请在命令提示符中键入以下命令以启动Django的内置轻量级web服务器:

python manage.py runserver 8080
我假设上述内容在manage.py所在的位置运行。 如果到目前为止一切正常,那么轻量级Web服务器将启动


然后,在您的浏览器中,您应该尝试显示
Hello,world。您位于轮询索引处。

尽管附加了文件夹架构,但我怀疑某个应用程序
轮询的文件夹过高。意味着,在文件夹“
您希望保存您的项目”
”中,您有:
mysite>mysite
。您应该首先从mysite内部启动应用程序,但您只是在文件夹“
您希望保存您的项目”
”中启动的。 我在本教程中这样做了,并且遇到了同样的问题


另外,此时您不需要在设置中声明
轮询
(当然,如果您声明了也不是问题)

我遇到了这种情况。但当我将代码从文档复制到文件时,问题就解决了。我认为你使用的django版本可能不正确。此处参考:

在预先输入的文件条目中,它显示:

    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
因此,请尝试输入:

from django.contrib import admin
from django.urls import path, include
from polls import views
urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]
但之后,您需要将一些内容导入polls\urls.py文件,因为如果不导入,则会出现一个错误,表明该文件为空

from django.contrib import admin
from django.urls import path
urlpatterns =[

]

我遇到了这个问题,花了我两天时间,根本原因是URL.py的文件名像“urls.py”一样错误。 “url.py”中的url.py前面有一个空白。
当我将polls/'url.py'固定为polls/url.py时,它起作用了。

请检查polls/url.py:它应该是这样的:

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]
from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")
还要检查mysite/url.py:它应该是这样的:

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]
from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")
最后检查polls/views.py:应该是这样的:

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]
from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

我认为手动向INSTALLED_APPS=[]部分添加任何内容不是一个好主意。至少在本教程中是这样。

我也遇到了这个问题,但就我而言,这是因为我无意中将教程中针对
mysite/url.py
的更改添加到
mysite/url.conf


创建
mysite/url.py
并按照教程进行填充为我解决了这个问题。

已安装的应用程序=[]
部分中,您是否有
'mysite',
之前的
'polls',
。此外,每个应用程序名称都应该写为
'xyz',
这里通常没有语法,请检查一下。确认并检查后,请运行
python manage.py


确保您正在(VENV)而不是(BASE)中运行此程序。在此之后,
python manage.py runserver
命令将启动指定IP的服务器。

不要链接图像。要么包含它们,要么更好,将代码复制粘贴为文本,并使用代码块格式化代码。请不要让我们关注非现场资源的链接。请把项目的代码放在.py文件中。但是我已经在安装的APPSWell中添加了“polls”,Django没有看到,所以有些地方不对劲。从项目目录运行以下三行:
python manage.py shell
从django.conf导入设置
设置。已安装的应用程序
并将结果粘贴到此处。您还可以删除
urls.py
中的
import polls
行,Django将使用字符串自动处理该行。@Mr.tang显示您的设置.py中已安装的应用程序部分。@几乎是初学者好的,我已经发布了it@Mr.tang我不认为我遇到了类似的问题,我原以为我必须在父文件夹(项目文件夹)上创建文件
urls.py
,但它实际上位于文件夹
mysite
内,该文件夹位于同名项目文件夹内。如果你查看帖子,在
urls.py
之前没有这样的空间。。。所以