29

get_absolute_urlモデルの 1 つに関数を追加しました。

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

管理サイトはそれを取得し、そのオブジェクトの詳細ページに「サイトで表示」リンクを追加します (「/foo/bar」の代わりに実際の URL をそこに置いた場合)。

問題は に行くのではなくhttp://localhost:8000/foo/bar、 に行くことhttp://example.com/foo/barです。

私は何を間違っていますか?

4

6 に答える 6

28

デフォルトのサイトドメイン値を変更する必要があります。

于 2008-12-05T19:46:26.957 に答える
6

一番おもしろいのは、「example.com」が当たり前の場所に出てくることです。それでも、私は1時間ほどで探していました。

管理インターフェイスを使用するだけです->サイト-> ...そこにあります:)

于 2010-02-27T23:30:00.980 に答える
4

管理者が有効になっている場合は、/admin/sites でこれを変更できます。

于 2008-12-17T09:51:40.540 に答える
4

他の人が述べたように、これはデフォルトの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()
于 2012-07-10T19:58:13.830 に答える
1

管理者が Site インスタンスを編集したら、変更を有効にするために Web サーバーを再起動する必要があります。これは、Web サーバーが最初に起動したときにのみデータベースが読み取られることを意味していると思います。

于 2012-07-10T19:48:26.317 に答える