2012-03-28 49 views
16

Tôi đang cố gắng cài đặt django-extensions + graphviz + pygraph nhưng tôi không thể. Tôi đã làm theo các bước sau (dưới Ubuntu):Lệnh Django django-extensions không có sẵn (graph_models)

sudo apt-get install graphviz libgraphviz-dev graphviz-dev python-pygraphviz 

trong virtualenv dự án (chạy python 2.7.2+):

source <path to virtualenv>/bin/activate 
pip install django django-extensions 

nếu tôi chạy

which python 

nó chọn python trong virtualenv của tôi, do đó, python tôi đang sử dụng là một trong những quyền. trong site-package của virtualenv tôi có pygraphviz và django-extensions

python manage.py shell 
import django_extensions 
import pygraphviz 
RUNS OK 

trong dự án django của tôi đã thêm 'django_extensions' trong INSTALLED_APPS tôi

Nhưng khi tôi chạy

python manage.py help 

i không thể nhìn thấy các lệnh và chúng không có sẵn.

python manage.py graph_models -a -g -o model.png 
Unknown command: 'graph_models' 
Type 'manage.py help' for usage. 

Làm cách nào để khắc phục sự cố này? Cảm ơn!

+0

Chào mừng bạn! Đây có phải là dự án hiện tại không? tức là hoạt động của 'python manage.py runserver' ok? Chỉ cần xác nhận - không có lệnh 'django-extension' xuất hiện khi bạn chạy' python manage.py help'? –

+0

Có, tôi xác nhận, không có lệnh django-extension nào được hiển thị – Michael

Trả lời

25

Run này trong vỏ manage.py:

from django.conf import settings; 'django_extensions' in settings.INSTALLED_APPS 

Nếu nó không trả lại True, thì có nghĩa là bạn không thêm 'django_extensions' đúng trong INSTALLED_APPS, và đó sẽ là lý do duy nhất tại sao Django không tìm thấy lệnh.

+0

sẽ không 'python manage.py runserver' thất bại nếu' django_extensions' không được thêm đúng cách? –

+0

Cảm ơn! settings.py không được nhập đúng cách ... bây giờ mọi thứ hoạt động như mong đợi ... CẢM ƠN BẠN! – Michael

+0

@pastylegs tôi nghĩ rằng runerver sẽ chỉ làm như thể django_extension không có ở tất cả. Cảm ơn cả hai vì phản hồi của bạn. – jpic

3

Thực ra, nếu bạn nhìn vào mã của manage.py, bạn sẽ nhận thấy rằng nó đặt DJANGO_SETTINGS_MODULES theo trang hiện tại của bạn: giả sử "mysite.settings". Nếu bạn muốn manage.py của bạn liệt kê các phần mở rộng bổ sung (ví dụ: các phần mở rộng django hoặc django-evolution) thì bạn phải thêm thư mục gốc của dự án vào đường dẫn python của bạn, nếu không bạn sẽ chỉ nhận các lệnh managed.py của bascc .

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