Недавно я начал изучать Django и следую примерам кода, приведенным в учебнике сайта Django. Соответственно, я создал сайт «mysite» и «книги» приложения на этом сайте. Следовательно, в результирующей структуре каталогов есть два файла «views.py» - один в папке «mysite», а другой в папке «books» и есть только один файл «urls.py» - только в папке «mysite». Мой вопрос следующий: как избежать конфликтов имен для функций, которые я создаю в двух файлах views.py? Если в обоих файлах есть две функции с одинаковым именем, как Django разрешает, какую функцию вызывать для данного шаблона URL в файле 'urls.py'?Те же функции в разных представлениях - 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, поперек проекты? Я имею в виду, что в настоящее время URL-адрес http://127.0.0.1:8000/hello
сопоставляется с функцией просмотра в проекте «mysite». Что делать, если у меня теперь есть еще один проект, скажем, «mynewsite», как Django разрешит URL-адрес http://127.0.0.1:8000/hello
функции просмотра «mynewsite»? Надеюсь, мой вопрос ясен.
Thanks, Rakesh.
Спасибо @lisu, что решить мою проблему. Но я добавил связанный с этим вопрос на мой оригинальный пост. Не могли бы вы помочь мне прояснить это? –
Ну, моя путаница заключается в следующем: это когда я создаю проект, используя команду django-admin.py startproject mysite, использует ли django URL-адрес localhost: 8000 только для представлений/шаблонов/файлов из этого проекта? Могу ли я создать новый проект с использованием той же самой команды и использовать один и тот же URL-адрес localhost: 8000 для доступа к представлениям из моего нового проекта? –
@ Rakesh K Когда вы создаете проект, вы, вероятно, запускаете сервер django dev, используя runerver.py. Этот сервер обрабатывает все запросы до 127.0.0.1:8000 и да, он всегда будет указывать на ваш проект. Однако, если вы создаете другой, вы можете просто изменить порт, на котором запускается сервер запуска (см. Runningerver.py --help), до 8080, и вы можете одновременно запускать два проекта. Если вы не измените порт, вы не сможете одновременно запускать два сервера. – lisu