2017-07-17 13 views
1

私はユーザーが(Bloomberg)ティッカーの名前を指定している簡単なフォームを作成しました。第2のフィールドでは、ユーザはウェブページのアドレスを入力している。もちろん、彼女は手動で修正することができますが、最初のTickerフィールドの内容に基づいてページの名前を示唆するようなボタンを提供したいと思います。フォームがポストされた後、提案が自動的に適用されるようにしたい場合は、あなたがきれい()メソッドに、あなたのロジックを移動することができ、ユーザは、「CARMPAT FPエクイティ」を入力して、アプリが正常に https://www.bloomberg.com/quote/CARMPAT:FPDjango ModelFormでボタンを追加

# forms.py 
from django.forms import ModelForm, ValidationError 
from pybloomberg.bloomberg import valid_ticker 

from .models import Symbol 


class SymbolAdminForm(ModelForm): 

    # Have a button next to address field... 

    class Meta: 
     model = Symbol 
     fields = '__all__' 

    def clean(self): 
     cleaned_data = self.cleaned_data 
     ticker = cleaned_data.get('bloomberg_symbol') 
     return cleaned_data 

    def react(self): 
     # extract the content for the bloomberg_symbol field 
     address = ... 
     # manipulate the content for the address field 
     self.... = address 
+0

私はティッカーをその場で提案にマップする機能を持っていることを強調する必要があります。 – tschm

+0

私が間違っている場合は正しいが、これを達成するためにJavascriptを使用しないでしょうか?私には「オートコンプリート」のような音がします。 – hansTheFranz

+0

さて、私は今、jQueryとJavascriptのルートを避けようとしています。私は現在、htmlテンプレートを再生しています。ユーザーがシンボル/ティッカーを変更している場合には、私は自動アップデートを望んでいないことに注意してください。 – tschm

答えて

0

を示唆し、アドレスフィールドを空にする必要があります。

def clean(self): 
    cleaned_data = self.cleaned_data 
    ticker = cleaned_data.get('bloomberg_symbol') 
    cleaned_data['address'] = ticker_name_to_address() 
    return cleaned_data 

あなたは、彼らが名前を入力するとの提案がユーザーに表示させたい場合は、JavaScriptを使用するしかないでしょう。

+0

これはオプションですが、既存の状態があれば上書きします。私は本当に余分なボタンがほしいと思うし、ユーザーがボタンをクリックしている場合には、 – tschm

関連する問題