3

申し込みフォームにURLFieldがあり、指定されたURLがwww.domain.comからのものかどうかを確認したいと思います。

現在、私はこのソリューションを現場のクリーンな方法で使用していますが、それは最善の方法ではないと思います...

    def clean_link(self):
    link = self.cleaned_data['link']
    if 'domain.com' not in link:
        raise forms.ValidationError('You only can add a domain.com URL.')

    return link

たとえば、http://www.thisismydomain.comと入力すると正しいでしょう。他の解決策はありますか?

どうもありがとうございます。

4

2 に答える 2

3

urlparse次のようなミスを避けるために、モジュールを確認することをお勧めします

>>> 'good_domain.com' in 'http://evildomain.com/mylink#good_domain.com'
True
于 2012-12-02T20:53:20.397 に答える
0

メソッドで何らかの正規表現(regex)を使用するのが最善だと思いますclean_link。詳細はわかりませんが、 @ secondで言及されているurparseモジュールが良いかもしれません。あるいは、 reモジュールを使用することもできます。ただし、現在の全体的な戦略は問題ないようです。

于 2012-12-02T21:19:27.627 に答える