Python 第一个django项目,显示错误,没有名为';民意测验';
我遵循Django官方文件,正在编写民意测验应用程序 在mysite包中,它说当我运行它时,没有名为“polls”的模块,我如何解决它 我的python是3.6,Django是1.10.2 这是我的目录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
├── 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
之前没有这样的空间。。。所以