2013-04-17 30 views
5

Tôi đang cố gắng truy cập trang web quản trị của ứng dụng của tôi ở Django. Ive chỉ sync`d DB và sau đó đi đến trang web nhưng tôi nhận được lỗi ...Django - Truy vấn đối sánh trang web không tồn tại

Site matching query does not exist. 

Bất kỳ ý tưởng?

+1

Đó là câu hỏi được sao chép http://stackoverflow.com/questions/11476210/getting-site-matching-query-does-not-exist-error-after-creating-django-admin –

+0

Bản sao có thể có của [Bắt khớp trang web Truy vấn không tồn tại lỗi sau khi tạo quản trị django] (https://stackoverflow.com/questions/11476210/getting-site-matching-query-does-not-exist-error-after-creating-django-admin) –

Trả lời

22

Mọi ứng dụng django cần có Site để chạy. Ở đây bạn dường như không có nó.

Đăng nhập vào django của bạn bao

$> ./manage.py shell 
>>> from django.contrib.sites.models import Site 
>>> site = Site() 
>>> site.domain = 'example.com' 
>>> site.name = 'example.com' 
>>> site.save() 

hoặc

$> ./manage.py shell 
>>> from django.contrib.sites.models import Site 
>>> site = Site.objects.create(domain='example.com', name='example.com') 
>>> site.save() 

Bạn nên tất cả các thiết lập.

+0

Làm thế nào/Điều này có nên được thêm vào thông qua tệp cài đặt không? – felix001

+0

Bạn không thể thêm nó qua cài đặt. làm './manage.py shell' và có thực hiện các lệnh này – karthikr

+0

Ok cảm ơn tôi chỉ tự hỏi tại sao ứng dụng của tôi không có điều này. Ngoài ra những gì tài liệu tham khảo hiện các tên miền có trong Django. Cảm ơn một lần nữa ... – felix001

4

Bạn cũng cần đảm bảo rằng tên miền trang web giống với tên miền bạn thực sự sử dụng. Ví dụ: nếu bạn đang truy cập trang web quản trị từ http://127.0.0.1:8000/admin/ thì site.domain của bạn phải là: site.domain = '127.0.0.1:8000'.

0

Thêm django.contrib.site bằng django INSTALLED_APPS và cũng thêm SITE_ID=1 vào tệp cài đặt django của bạn.

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