Có quy ước đặt tên cho ứng dụng Django không


115

Có quy ước đặt tên ưu tiên nào để tạo ứng dụng Django bao gồm nhiều hơn một từ không? Ví dụ, điều nào sau đây được ưu tiên hơn?

  1. my_django_app
  2. my-django-app Cập nhật: Không được phép về mặt cú pháp
  3. mydjangoapp Giải pháp được đề nghị

Trong khi tất cả chúng có thể là tùy chọn 1 và 3 là cho phép về mặt cú pháp, nhưng có tùy chọn nào không? Nhìn vào cách Django tạo tên bảng bằng cách kết hợp tên ứng dụng và tên mô hình bằng một dấu gạch dưới, tôi nghiêng về phương án số 1.

Suy nghĩ?

Câu trả lời:


108

Chúng phải là tên gói hợp lệ. Điều đó loại trừ 2 ("import my-django-app" sẽ là lỗi cú pháp). PEP 8 cho biết:

Mô-đun phải có tên ngắn, toàn chữ thường. Dấu gạch dưới có thể được sử dụng trong tên mô-đun nếu nó cải thiện khả năng đọc. Các gói Python cũng nên có tên ngắn, toàn chữ thường, mặc dù không khuyến khích sử dụng dấu gạch dưới.

Vì vậy, 1 và 3 đều hợp lệ, nhưng 3 sẽ là cách tiếp cận được khuyến nghị.


1
Một bài đăng hữu ích trên blog về vấn đề này, chỉ để mở rộng: streamhacker.com/2011/01/03/django-application-conventions
Akhorus 23/12/15

7
Chào bạn @ surfer190. Hai muỗng Django chứa rất nhiều thực hành tốt. Họ chọn số ít: blog. Đó là lựa chọn tương tự khi bạn tạo Mô hình: Blog được ưu tiên trên các Blog.
Wim Feijen

2
Nói chung, tôi khuyên bạn nên sử dụng dấu gạch dưới, vì chúng cải thiện khả năng đọc và chúng được sử dụng phổ biến, chẳng hạn như tôi sử dụng django_extensions và django_debug_toolbar rất nhiều.
Wim Feijen

14
@WimFeijen, có vẻ như Hai muỗng Django, ít nhất ở đây , khuyên bạn nên sử dụng 'phiên bản số nhiều của mô hình chính của ứng dụng' cho tên ứng dụng, với các ngoại lệ như ứng dụng có tên blog, một 'ngoại lệ tốt'.
Caco

Tôi đứng sửa lại. Cảm ơn @Caco đã xem xét vấn đề này và hướng dẫn tôi.
Wim Feijen

11

một số ví dụ điển hình

  • graphene_django
  • người dùng
  • đơn đặt hàng
  • oauth2_provider
  • rest_framework
  • cuộc thăm dò ý kiến

theo thuật ngữ đơn giản, app_namenên có tên ngắn, toàn chữ thường. Dấu gạch dưới có thể được sử dụng trong tên mô-đun nếu nó cải thiện khả năng đọc. cũng nên có tên ngắn và nó có thể là tên số nhiều và số ít


7

Tên thư mục ứng dụng phải là tên gói Python hợp lệ. Điều này có nghĩa là tùy chọn 2 hoàn toàn không được chấp nhận dưới dạng tên gói, mặc dù nó vẫn có thể được sử dụng cho các mục đích khác, chẳng hạn như tài liệu. Cuối cùng, nó đi xuống phong cách cá nhân. Nếu bạn thích tùy chọn 3 thì hãy sử dụng nó.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.