Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.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:导入顺序意味着只能访问一个views.py文件_Python_Django_Django Forms_Django Views - Fatal编程技术网

Python Django:导入顺序意味着只能访问一个views.py文件

Python Django:导入顺序意味着只能访问一个views.py文件,python,django,django-forms,django-views,Python,Django,Django Forms,Django Views,我只是在处理创建表单的问题 我的问题是,我只能从我的书籍或联系人目录导入一个views.py文件。因此,我只能看到由当时导入的views.py文件创建的页面 我相信我需要某种方式来区分这两个目录,这样Django就不会感到困惑(因为我的实现可能很糟糕)。我还包括了我的项目目录的图像,这可能有助于理解这个问题 联系导入工作 from mysite.views import hello, current_datetime, hours_ahead, display_meta from contact

我只是在处理创建表单的问题

我的问题是,我只能从我的
书籍
联系人
目录导入一个
views.py
文件。因此,我只能看到由当时导入的views.py文件创建的页面

我相信我需要某种方式来区分这两个目录,这样Django就不会感到困惑(因为我的实现可能很糟糕)。我还包括了我的项目目录的图像,这可能有助于理解这个问题

联系导入工作

from mysite.views import hello, current_datetime, hours_ahead, display_meta
from contact import views
#from books import views

urlpatterns = patterns('',
    ...

    #url(r'^search-form/$', views.search_form),
    #url(r'^search/$', views.search),    

    url(r'^contact_form/$', views.contact), 
)
from mysite.views import hello, current_datetime, hours_ahead, display_meta
#from contact import views
from books import views

urlpatterns = patterns('',
    ....

    url(r'^search-form/$', views.search_form),
    url(r'^search/$', views.search),    

   #url(r'^contact_form/$', views.contact), 
)
图书导入工作

from mysite.views import hello, current_datetime, hours_ahead, display_meta
from contact import views
#from books import views

urlpatterns = patterns('',
    ...

    #url(r'^search-form/$', views.search_form),
    #url(r'^search/$', views.search),    

    url(r'^contact_form/$', views.contact), 
)
from mysite.views import hello, current_datetime, hours_ahead, display_meta
#from contact import views
from books import views

urlpatterns = patterns('',
    ....

    url(r'^search-form/$', views.search_form),
    url(r'^search/$', views.search),    

   #url(r'^contact_form/$', views.contact), 
)
我的项目结构。我正在Eclipse中与Pydev一起工作。

联系人和图书导入均出现以下错误

AttributeError at /search/

'module' object has no attribute 'search_form'

我们将一如既往地感谢您的帮助

您可以使用
as
语句:

from contact import views as contact_views
from books import views as books_views
以及调用视图:

url(r'^search-form/$', books_views.search_form),
url(r'^search/$', books_views.search),
url(r'^contact_form/$', contact_views.contact), 

您可以使用
as
语句:

from contact import views as contact_views
from books import views as books_views
以及调用视图:

url(r'^search-form/$', books_views.search_form),
url(r'^search/$', books_views.search),
url(r'^contact_form/$', contact_views.contact), 

您应该将url.py放入应用程序中,如中所述

在应用程序目录中创建一个
url.py

contact
   - __init__.py
   - views.py
   - models.py
   - urls.py
books
   - __init__.py
   - views.py
   - models.py
   - urls.py
在book/url.py中,添加以下内容:

from django.conf.urls import patterns, url

from .views import search, search_form

urlpatterns = patterns('',
    url(r'search-form/$', search_form, name='search_form'),
)
url(r'^books/', include('book.urls')),
然后在主
url.py
中添加以下内容:

from django.conf.urls import patterns, url

from .views import search, search_form

urlpatterns = patterns('',
    url(r'search-form/$', search_form, name='search_form'),
)
url(r'^books/', include('book.urls')),

由于django book网站已经过时,请仔细阅读。您应该在应用程序中输入url.py,如中所述

在应用程序目录中创建一个
url.py

contact
   - __init__.py
   - views.py
   - models.py
   - urls.py
books
   - __init__.py
   - views.py
   - models.py
   - urls.py
在book/url.py中,添加以下内容:

from django.conf.urls import patterns, url

from .views import search, search_form

urlpatterns = patterns('',
    url(r'search-form/$', search_form, name='search_form'),
)
url(r'^books/', include('book.urls')),
然后在主
url.py
中添加以下内容:

from django.conf.urls import patterns, url

from .views import search, search_form

urlpatterns = patterns('',
    url(r'search-form/$', search_form, name='search_form'),
)
url(r'^books/', include('book.urls')),

由于django book网站已经过时,请仔细阅读。

除了@dimamobile的答案外,另一种选择是只需执行
导入书籍
导入联系人
,然后使用
书籍.视图.搜索表单
联系人.视图.联系人
等访问您需要的内容。@dimamobile的另一个答案是只需执行
导入书籍
导入联系人
,然后通过
书籍.视图.搜索表单
联系.视图.联系
等访问您需要的内容。谢谢,但我不会按照第7章的规定单独申请“联系”“我们个人的偏好是在目录树中创建一个单独的目录contact,与books位于同一级别。这将包含一个空的init.py和views.py。)“我已经通过了官方教程,但没有从中得到足够的信息,所以我也在使用这本书。我认为您的解决方案最适合在一个项目中创建多个应用程序,我将在将来记住它。谢谢,但我不会按照第7章制作单独的“联系人”应用程序“我们个人的偏好是在目录树中创建一个单独的目录contact,与books位于同一级别。这将包含一个空的init.py和views.py。)“我已经阅读了官方教程,但没有从中获得足够的信息,因此我也在使用这本书。我认为您的解决方案最适合在一个项目中创建多个应用程序,我将在将来记住它。