2010-08-16 20 views
6

Tôi gặp lỗi lạ và tôi không thể theo dõi lỗi đó. Theo dõi ngăn xếp không đưa ra bất kỳ đầu mối nào về vị trí của lỗi. Nó chỉ cho tôi urlresolvers.py ngoại lệ ViewDoesNotExist tiêu chuẩn. Đây là thông báo lỗi:django ViewDoesNotExist

Could not import myapp.myview.views. Error was: No module named model 

Lúc đầu, tôi đã quên đặt "s" trên các mô hình ở đâu đó trong mã của tôi, nhưng sau khi tìm kiếm toàn bộ mã, không phải như vậy.

Đây là trackback:

File "C:\Python25\Lib\site-packages\django\core\handlers\base.py" in get_response 
    91.       request.path_info) 
File "C:\Python25\Lib\site-packages\django\core\urlresolvers.py" in resolve 
    216.      sub_match = pattern.resolve(new_path) 
File "C:\Python25\Lib\site-packages\django\core\urlresolvers.py" in resolve 
    216.      sub_match = pattern.resolve(new_path) 
File "C:\Python25\Lib\site-packages\django\core\urlresolvers.py" in resolve 
    216.      sub_match = pattern.resolve(new_path) 
File "C:\Python25\Lib\site-packages\django\core\urlresolvers.py" in resolve 
    123.    return self.callback, args, kwargs 
File "C:\Python25\Lib\site-packages\django\core\urlresolvers.py" in _get_callback 
    132.    raise ViewDoesNotExist("Could not import %s. Error was: %s" % (mod_name, str(e))) 

Exception Value: Could not import myapp.myview.views. Error was: No module named model 

Trả lời

15

Từ những gì bạn đã đăng, nó có vẻ như lỗi là ở myapp.myview.views.

Bạn đã đề cập đến việc tìm kiếm lỗi chính tả của "mô hình", điều này rất tốt. Bạn cũng có thể thử hỏi Django để xác nhận mô hình của bạn để đảm bảo rằng chúng đúng cách có thể nhập cảng (chạy trong gốc của dự án Django của bạn):

python manage.py validate 

Ngoài ra, chỉ cần giữ sau khi nhập khẩu trong myapp.myview.views cho đến khi bạn thấy điều gì đó kỳ quặc. Bạn có thể kiểm tra xem mọi thứ có được nhập đúng hay không bằng cách mở vỏ:

python manage.py shell 

Và cố gắng nhập và/hoặc thử mọi thứ từ đó.

Ngoài ra, một người nào đó có thể hỗ trợ bạn nhiều hơn nếu bạn đăng toàn bộ lượt truy nguyên. Chúc may mắn!

+0

Lỗi trong quá trình nhập trong tổng số ứng dụng khác. Sử dụng trình bao để nhập mọi thứ vào một thời điểm. Cảm ơn đã giúp đỡ! – imns

0

Vì vậy, myapp/myview/views.py nhập model và không thành công. Câu lệnh nhập khẩu trông như thế nào?

+0

nhập myapp.myview.views – khateeb

+0

@khateeb: Đã hai năm rồi, nhưng tôi khá chắc chắn tôi đã hỏi về câu lệnh nhập trong 'lượt xem' và không phải cách nhập' myapp.myview.views'. – hughdbrown

3

Tôi đã gặp lỗi tương tự và tôi đã giải quyết được sự cố của mình. Nếu bạn có form.py, hãy đảm bảo rằng tất cả các trường biểu mẫu của bạn đều hợp lệ. Vì một số lý do, nếu tệp forms.py của bạn có lỗi trường biểu mẫu, thì nó gây ra ngoại lệ này.

0

Bạn có thể kiểm tra xem mọi thứ đều đúng có thể nhập cảng bằng cách mở một shell:

python manage.py shell 

Điều đó tạo ra một môi trường hoạt động cũng giống như giống như nơi có yêu cầu và trả lời. Tôi tin rằng bạn có thể nhận được ánh sáng về câu hỏi này nếu bạn làm điều đó, bởi vì tôi đã có nó và quản lý nó.

Chúc bạn may mắn.

0

Đối với tôi, chế độ xem không thể nhập được có cuộc gọi trang trí xấu. Hãy thử nhận xét ra trang trí.

#@login_required(login_url=reverse('bad!')) 
def view_name(request): 

Cụ thể là đảo ngược không thành công. Thay đổi nó thành

@login_required(login_url='http://usatoday.com') 
def view_name(request): 

hoạt động.Nhưng, kỳ lạ đủ, một url này không làm việc:

@login_required(login_url='http://foxnews.com') 
def view_name(request): 

(vâng đó là một trò đùa)

Tôi chỉ phát hiện ra tôi nên sử dụng reverse_lazy, vì vậy đây là giải pháp cuối cùng:

@login_required(login_url=reverse_lazy('bad!')) 
def view_name(request): 

Điều này sẽ gây ra lỗi ViewDoesNotExist.

0

Tôi gặp lỗi tương tự:
Đó là urls.py của ứng dụng.
Tôi quên thêm '' trong thời gian bắt đầu của urlpatterns
SOLUTION:
chỉ cần thêm '', đến urlpatterns từ django.conf.urls nhập khẩu mẫu, bao gồm, url

urlpatterns = patterns('', 
    url(r'^profile<url name>/$','userprofile.views.user_profile<location of view>'), 
)