2009-06-19 32 views
5

Tôi đã đi qua phát triển khác nhau Django thêm tiện ích, đặc biệt là,phát triển Django add-ons

Tôi chưa sử dụng chính xác tất cả những điều này.

Tôi nghĩ rất khó để đánh bại sự đơn giản và sức mạnh thu được bằng cách kết hợp các trang lỗi đẹp của Django kết hợp với vỏ iPythonEmbed.

Bạn sử dụng công cụ nào trong số này hoặc các công cụ khác để phát triển, bạn có lợi ích gì về nó?

Các lệnh và tập lệnh tự viết cũng được chào đón.

Trả lời

3

Tôi yêu một phương thức django-annoying 's render_to.

@render_to('template.html') 
def foo(request): 
    bar = Bar.objects.all() 
    return {'bar': bar} 

# equivalent to 
def foo(request): 
    bar = Bar.objects.all() 
    return render_to_response('template.html', 
           {'bar': bar}, 
           context_instance=RequestContext(request)) 

Tôi chưa sử dụng bất kỳ bộ lọc nào khác, mặc dù tôi đã xem xét thanh công cụ gỡ lỗi django.

1

Tôi đã tìm thấy django-logging là một trợ giúp lớn trong phát triển

3

tôi sử dụng django-extensions trong mỗi dự án. Có rất nhiều thứ trong đó tôi không bao giờ sử dụng, nhưng nó có giá trị nó cho các lệnh quản lý shell_plusrunserver_plus một mình.

Shell_plus chỉ tự động gọi tất cả các mô hình của bạn: tiết kiệm thời gian lớn (EDIT: quên một cái gì đó quan trọng không kém: nó cũng làm cho sử dụng ipython nếu được cài đặt, hoàn thành tab và tiện khác). Runserver_plus (yêu cầu Werkzeug) cung cấp cho bạn một trang gỡ rối lỗi tương tác 500. Bạn có thể nhảy vào một bảng điều khiển AJAX tại bất kỳ điểm nào trong traceback - rực rỡ.

Lệnh print_user_for_session cũng hữu ích nếu bạn nhận được email báo lỗi từ trang web đang hoạt động và muốn liên hệ với người dùng gặp phải lỗi.

cập nhật: Trình quản lý tích hợp sẵn của Django giờ đây cũng sử dụng IPython nếu có. Và nó tương đối dễ dàng để tạo ra một hồ sơ người dùng IPython để tự động nhập các mô hình và bất cứ điều gì khác mà bạn muốn tự động nhập khẩu. Tôi không còn sử dụng tiện ích mở rộng django nữa.

+0

Tự động tải tất cả các mô hình của bạn thật tuyệt vời! Tôi đã viết một kịch bản cho rằng một trong khi trở lại và không sử dụng lệnh shell kể từ đó. (Ngoài ra, tự động tải django.contrib.auth.models.User là một việc lớn, vì nó quá dài để nhập vào một trình bao.) –

1
from IPython.Shell import IPShellEmbed 
ipshell = IPShellEmbed() 

ipshell() # This call anywhere in your program will start IPython. 

Bằng cách này, khi bạn đang ở chế độ xem, bạn có thể truy cập vào dòng lệnh tại đó và khám phá. Tất cả các mẫu được yêu cầu sẽ được nhập bất kỳ cách nào và là một thay thế dễ dàng cho shell_plus. Với tôi, nó thậm chí còn thay thế số runserver_plus của django-command-extensions.

(Vì tôi đã tìm thấy những gì tôi sử dụng thường xuyên, không phải là một ý tưởng phổ biến, tôi tự trả lời.)

0

Phụ trợ phát triển Django hữu ích nhất mà chúng tôi sử dụng là django-evolution. Nó là một giải pháp cập nhật lược đồ, phải mất rất nhiều công việc thủ công ngoài những thay đổi trong các mô hình hiện có. Nó đã cứu tôi vô số giờ làm việc.

1

Hãy thử djangodevtools, bao gồm các lệnh Alias, Coverage, itest, selenium, vv Một số lệnh thêm rất mát mẻ!

Các vấn đề liên quan