由于以下方法从视图中映射Django Url,因此在Django 1.9及更高版本中被折旧
url(r'^ contact / $','newsletter.views.contact',name ='contact'),
url(r'^ about / $','home.views.about',name ='about'),
这就是现有的
来自简报导入视图'
url(r'^ about / $','views.about',name ='about'),
如何为2个不同的应用视图映射我的网址
来自主页导入视图
来自简报导入视图
url(r'^ home / $','views.home',name ='home'),#location in home
url(r'^ about / $','views.about',name ='about'),#news in newsletter
像我上面所做的映射会导致错误,所以我需要帮助。 Django的新手
答案 0 :(得分:1)
由于它是一个核心的python构造,因此我不明白使用不合格的模块名称是什么意思。 但是,您可以使用“import as”语句将它们绑定到不同的别名,从而管理包含具有相同名称的子模块的两个不同模块。
示例:
from home import views as home_view
from newsletter import views as news_view
然后,您可以在声明的命名空间中使用别名home_view
和news_view
来引用每个模块而不是views
。
您可以查看Python文档here中的import语句语法:
如果成功检索到所请求的模块,则会进行该模块 可以通过以下三种方式之一在本地命名空间中使用:
- 如果模块名称后跟as,则名称跟随原样 直接绑定到导入的模块。
- 如果未指定其他名称, 并且导入的模块是顶级模块,模块的名称 绑定在本地名称空间中作为对导入模块的引用
- 如果要导入的模块不是顶级模块,则为名称 包含模块的顶级包的绑定在 本地命名空间作为顶级包的引用。进口 必须使用其完全限定名称而不是访问模块 直接
答案 1 :(得分:0)
尝试:
from home import views as home_views
from newsletter import views
url(r'^home/$', 'home_views.home', name='home'), #located in home
url(r'^about/$', 'views.about', name='about'), #located in newsletter
答案 2 :(得分:0)
作为替代方案,您只能导入视图功能:
from home.views import home
from newsletter.views import about
urlpatterns = [
url(r'^home/$', home, name='home'),
url(r'^about/$', about, name='about'),
]