Python “我的”在哪里;url.py“;文件进入我的Django项目?

Python “我的”在哪里;url.py“;文件进入我的Django项目?,python,django,python-3.x,django-views,url-mapping,Python,Django,Python 3.x,Django Views,Url Mapping,我正在使用Django和Python 3.7。我使用PyCharm创建了一个项目,它创建了以下目录结构(一些自定义添加是我自己的): 文件“urls.py”如下所示 from django.contrib import admin from django.urls import path from . import views urlpatterns = [ path('trending', trending, name='trending'), ] 我对“url.py”应该放

我正在使用Django和Python 3.7。我使用PyCharm创建了一个项目,它创建了以下目录结构(一些自定义添加是我自己的):

文件“urls.py”如下所示

from django.contrib import admin
from django.urls import path

from . import views

urlpatterns = [
    path('trending', trending, name='trending'), 
] 
我对“url.py”应该放在哪里以及应该包含什么感到困惑。当我启动服务器时,它会给我以下错误(“ModuleNotFoundError:没有名为“mainpage\u project.URL”的模块)

(venv)localhost:mainpage\u项目davea$python manage.py runserver
正在执行系统检查。。。
由启动的线程中存在未处理的异常
回溯(最近一次呼叫最后一次):
文件“/Users/davea/Documents/workspace/mainpage_project/venv/lib/python3.7/site packages/django/utils/autoreload.py”,第225行,在包装器中
fn(*args,**kwargs)
文件“/Users/davea/Documents/workspace/mainpage_project/venv/lib/python3.7/site packages/django/core/management/commands/runserver.py”,第117行,在内部运行
self.check(display\u num\u errors=True)
文件“/Users/davea/Documents/workspace/mainpage_project/venv/lib/python3.7/site packages/django/core/management/base.py”,第379行,选中
包括部署检查=包括部署检查,
文件“/Users/davea/Documents/workspace/mainpage\u project/venv/lib/python3.7/site packages/django/core/management/base.py”,第366行,in\u run\u checks
返回检查。运行检查(**kwargs)
文件“/Users/davea/Documents/workspace/mainpage_project/venv/lib/python3.7/site packages/django/core/checks/registry.py”,第71行,运行检查
新建错误=检查(应用程序配置=应用程序配置)
文件“/Users/davea/Documents/workspace/mainpage_project/venv/lib/python3.7/site packages/django/core/checks/url.py”,第40行,在check_url_namespace_unique中
所有\u名称空间=\u加载\u所有\u名称空间(解析器)
文件“/Users/davea/Documents/workspace/mainpage_project/venv/lib/python3.7/site packages/django/core/checks/urls.py”,第57行,加载所有名称空间
url\u patterns=getattr(解析器,'url\u patterns',[])
文件“/Users/davea/Documents/workspace/mainpage_project/venv/lib/python3.7/site packages/django/utils/functional.py”,第37行,在__
res=instance.\uuuu dict\uuuu[self.name]=self.func(实例)
文件“/Users/davea/Documents/workspace/mainpage_project/venv/lib/python3.7/site packages/django/url/resolvers.py”,第533行,url_模式
patterns=getattr(self.urlconf_模块,“urlpatterns”,self.urlconf_模块)
文件“/Users/davea/Documents/workspace/mainpage_project/venv/lib/python3.7/site packages/django/utils/functional.py”,第37行,在__
res=instance.\uuuu dict\uuuu[self.name]=self.func(实例)
urlconf_模块中的文件“/Users/davea/Documents/workspace/mainpage_project/venv/lib/python3.7/site packages/django/url/resolvers.py”,第526行
返回导入_模块(self.urlconf_名称)
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/\uuuu init\uuuuu.py”,第127行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第1006行,在\u gcd\u导入中
文件“”,第983行,在_find_和_load中
文件“”,第965行,在“查找”和“加载”中解锁
ModuleNotFoundError:没有名为“mainpage\u project.URL”的模块

我的“urls.py”文件应该放在哪里?它应该包含什么?

您的项目
mainpage\u项目中缺少
urls.py
。i、 e

mainpage_project 
    __init__.py  
    __pycache__  
    settings  
    wsgi.py 
    urls.py    #here
url.py
负责映射项目中的路由和路径。例如,如果要在URL/trending/中显示某些内容,必须首先将其映射到此处

从您的目录结构中,
mainpage\u project
是您的项目,
mainpage
是您的应用程序

每个应用程序都可以有自己的
url.py
。Django实际上在项目文件夹中检查它

典型的
url.py
如下所示:

from django.conf.urls import url
from django.contrib import admin
from django.urls import path

from mainpage import views

urlpatterns = [
    path('trending', trending, name='trending'), 
] 
Update1:从注释中可以看出,添加
url.py
时出现导入错误,因为在
url.py
中,您试图从
mainpage\u项目的文件夹导入
视图

from . import views
表示法是指从中调用它的当前目录,即
mainpage\u project
目录

在mainpage\u项目目录中没有
views.py
。但是
views.py
存在于
mainpage
目录中。因此,请将其更新为:

from mainpage import views

你知道,它本来就在那里,但我移动了它,因为我在“from.import view”一行上遇到了错误,“ImportError:无法从“mainpage\u project”(/Users/davea/Documents/workspace/mainpage\u project/mainpage\u project/\uuu init\uuuuuuuuuuuu.py)导入名称“views”(我的问题中包含了全部内容)。从URL.py文件引用视图的正确方法是什么?
from . import views
from mainpage import views