Подтвердить что ты не робот

Django Admin "просмотр на сайте" указывает на example.com вместо моего домена

Я добавил функцию get_absolute_url для одной из моих моделей.

def get_absolute_url(self):
    return '/foo/bar' 

Сайт администратора выбирает его и добавляет ссылку "вид на сайт" на страницу подробностей для этого объекта (когда я помещаю настоящий URL вместо "/foo/bar" ).

Проблема заключается не в http://localhost:8000/foo/bar, а в http://example.com/foo/bar.

Что я делаю неправильно?

4b9b3361

Ответ 2

Самое смешное, что "example.com" появляется в очевидном месте. Тем не менее, я искал через час или около того.

Просто используйте свой интерфейс администратора → Сайты → ... вот оно:)

Ответ 3

Как уже упоминалось, это связано с стандартом sites.

Если вы используете South для миграции баз данных (возможно, хорошего идея вообще), вы можете использовать миграцию данных, чтобы избежать необходимости делать это же изменение базы данных везде, где вы развертываете приложение, в соответствии с

from south.v2 import DataMigration
from django.conf import settings

class Migration(DataMigration):

    def forwards(self, orm):
        Site = orm['sites.Site']
        site = Site.objects.get(id=settings.SITE_ID)
        site.domain = 'yoursite.com'
        site.name = 'yoursite'
        site.save()

Ответ 4

Вы можете изменить это в /admin/sites, если у вас включен администратор.

Ответ 5

Когда вы редактировали экземпляр сайта, подумал администратор, вам необходимо перезапустить веб-сервер, чтобы изменения вступили в силу. Я предполагаю, что это должно означать, что база данных читается только при первом запуске веб-сервера.