Соглашение об именовании Django для представлений / моделей как пакета

#python #django

#python #django

Вопрос:

Я разделил свой views.py и модели.преобразование py в представления / и модели подмодулей/

модуль views.py используется во множественном числе. когда оно разбивается на представления подмодулей / файлы должны быть множественными или единственными?

например, в моделях/:

 models/
    employee.py
    department.py
    schedule.py

views/
    employee.py
    department.py
    schedule.py
  

согласно django, файлы должны быть во множественном числе, но в такой ситуации, должен ли я давать каждому имени файла множественное или единственное число?

Обновление: В нашем проекте много приложений. и вот одно приложение, в котором много моделей со многими взаимозависимыми, поэтому имеет смысл принадлежать одному приложению. и нам нравятся чистые и приятные вещи, поэтому мы разделяем их на подмодули, такие как представления / и модели /.

Комментарии:

1. если один файл содержит один класс, тогда имеет смысл иметь его имя в единственном числе

Ответ №1:

Это не то решение, которое вам нужно.

Но разделение проекта на небольшие приложения django здесь будет иметь больше смысла.

Я лично следую этой структуре и видел много проектов, следующих тому же

 employee/
    models.py
    views.py

schedule/
    models.py
    views.py

department/
    models.py
    views.py
  

Но структура вашего проекта не позволяет вам делать то, что вы добавили, также читаемым и имеет смысл.

Комментарии:

1. Это становится беспорядочным при написании кода, когда у вас открыто несколько файлов в vscode с одинаковым именем. Это заставляет вас редактировать неправильный файл.

Ответ №2:

Я думаю, что называть файлы моделей в единственном числе было бы разумно, но с view-файлами стоит подумать, потому что очень часто view может использовать несколько моделей внутри себя, в таких случаях такое имя файла может вводить в заблуждение. Обычно я вызываю файлы view на основе бизнес-логики, которую они создают.

Также неплохо подумать о разделении проекта на приложения django.

Ответ №3:

Я не думаю, что существует какое-либо соглашение или руководство или для именования модулей для представлений. Это скорее личный выбор. Просто выберите единственное или множественное число и используйте stick с ним во всех местах.

Для выбора варианта вы можете посмотреть, как вы назвали свой самый глубокий слой в стеке (модель). Если вы использовали Employee для своей модели employee (что более вероятно), используйте employee для module . Если вы использовали, Employees используйте employees . На вашем месте я бы использовал единственное имя для модуля, даже если в одном файле есть несколько классов (по одному для каждой операции CRUD).

Комментарии:

1. Спасибо, я тоже выбираю этот метод. давайте подождем еще несколько дней, чтобы посмотреть, есть ли другие комментарии и отзывы по этому поводу, хотелось бы выслушать еще несколько идей. В противном случае это будет выбранный ответ. tqvm