我最近開始學習Django,並且遵循Django網站教程中給出的代碼示例。因此,我在該網站上創建了一個網站'mysite'和一個應用'books'。因此,在生成的目錄結構中有兩個'views.py'文件 - 一個在'mysite'文件夾中,另一個在'books'文件夾中,並且只有一個'urls.py'文件在'mysite'文件夾中。我的問題是以下內容 - 如何避免在兩個'views.py'文件中創建的函數名稱衝突?如果在這兩個文件中有兩個具有相同名稱的函數,那麼Django如何解析在'urls.py'文件中調用給定URL模式的函數?不同視圖中的相同功能 - Django
以下是我的目錄結構:
C:.
│ manage.py
│
├───books
│ admin.py
│ admin.pyc
│ models.py
│ models.pyc
│ tests.py
│ views.py
│ views.pyc
│ __init__.py
│ __init__.pyc
│
└───mysite
base.html
base_blog.html
base_welcome.html
currdate.html
settings.py
settings.pyc
urls.py
urls.pyc
views.py
views.pyc
wsgi.py
wsgi.pyc
__init__.py
__init__.pyc
額外的和相關的問題 - 如果我有多個項目(如「mysite的」)和不同的應用程序在這些項目中,我怎麼跨越區分網址項目?我的意思是,目前,URL http://127.0.0.1:8000/hello
被映射到'mysite'項目中的視圖函數。如果我現在有一個項目,比如說'mynewsite',那麼Django如何解決URL'http://127.0.0.1:8000/hello
'到'mynewsite'的查看功能?我希望我的問題很清楚。
謝謝, Rakesh。
更換謝謝@lisu,這解決了我的問題。但是我在原來的帖子中添加了一個相關的問題。你能幫我澄清一下嗎? – 2014-09-28 09:51:44
嗯,我的困惑是以下 - 當我使用'django-admin.py startproject mysite'命令創建項目時,django是否僅將localhost:8000 URL用於此項目中的views/templates /文件?我可以使用相同的命令創建一個新項目,並使用相同的localhost:8000 URL來訪問我的新項目中的視圖嗎? – 2014-09-28 10:07:19
@Rakesh K當你創建一個項目時,你可能使用runserver.py來運行django dev服務器。該服務器處理所有請求到127.0.0.1:8000,是的,它會一直指向你的項目。但是,如果您創建另一個項目,則只需將運行服務器運行的端口(請參閱runserver.py --help)更改爲8080,即可同時運行兩個項目。如果您不更改端口,則無法一次運行兩臺服務器。 – lisu 2014-09-28 10:10:49