2011-01-04 24 views
1

長いアフィリエイトURLを隠しリンクまたは短く置き換える方が良い方法を知っていますか?Django - アフィリエイトリンクをURLリダイレクトで設定する

このような何か: "anothersite.com/offer.html/affiliate_id=001" このようクローク : "http://site.com/click/offer"

がより多くのアフィリエイト場合と仮定すると、リダイレクトを設定すると、より多くのパターンでurls.pyが簡単に埋められます。 Djangoに組み込まれたジェネリックビューは、(外部の)URLリダイレクトアプリケーションをセットアップする方法を提供しますが、.htaccessまたはurls.pyを埋め込むことなくこれを行うためのより良い方法があるかどうか疑問に思っています。

答えて

0

Djangoには、さらにredirects appが付属しています。あなたが将来的には、この上に構築することができるようにしたい場合は、あなたがあなた自身の簡単なモデルを作成することができ

1

:次に

def affiliate_link(request, slug): 
    link = get_object_or_404(AffiliateLink, slug=slug) 
    return redirect(link.full_url) 

class AffiliateLink(models.Model): 
    slug = models.SlugField(unique=True) 
    full_url = models.URLField() 

は、次にリダイレクトを行うためにビューを作成しますURLファイルを設定してください:

(r'^affiliates/(?P<slug>[^/]+/', 'myapp.views.affiliate_link'), 

それはそれです。

+0

マーカスありがとう、これは私が持っていたのと同じ考えです。温度上記のようなリダイレクト設定は唯一優れた解決策のようです。 – narxgun

+0

@narxgun @lazerscienceが話している[オプションのリダイレクトアプリ](http://docs.djangoproject.com/ja/dev/ref/contrib/redirects/?from=olddocs)も気にしない場合でも見栄えがよくなります将来はあまりにも拡大することについて私はそれがあなたの必要に応じていると思います。 –

0

https://github.com/arteria/django-redirect-plusもあります。これには、各リダイレクトルールで単純なヒットカウンタが付いています。これはあなたの統合アフィリエイトプログラムを追跡するのに役立ちます。

関連する問題