Model

2013-07-19 19 views
26

olmadan Django formunu alabilir miyim? Şablonumda, model tarafından desteklenmeyen bir Form var. Verileri saklamak zorunda değilim, sadece bu verilere ihtiyaç duyduğumda kendi POST isteğimi oluşturmak için veriye ihtiyacım var.Model

Şablon - Metin alanları içeren form. Görüntüle - formdan veri alın ve başka bir istek oluşturun. Akış

-> Form gönderildi görünümü "

def form_handle(request): 
    if request.method=='POST' 
    form = request.POST 

    #blah blah encode parameters for a url blah blah 
    #and make another post request 

çağıran bir url alır ama bu formu değişkenine sadece csrf belirteci koyar ben bu metin alanlarını erişebilir bir yolu var mı. benim form_handle görünümde şablon?

Ben bir model ile yapmak ancak bu çözemedim biliyorum!

Evet. Bu mümkün oldukça fazla

cevap

37

. Sen Form objects ilgili bilgi alabilirsiniz. Öyle olmalı aynı şekilde modele bağlı olmadığınız ve tüm form niteliklerini açıkça bildirmeniz gerektiği için ModelForm numaralı ürünü ele almalısınız. şablonunda

class MyForm(forms.Form): #Note that it is not inheriting from forms.ModelForm 
    a = forms.CharField(max_length=20) 
    #All my attributes here 

def form_handle(request): 
    form = MyForm() 
    if request.method=='POST': 
     form = MyForm(request.POST) 
     if form.is_valid(): 
      cd = form.cleaned_data 
      #now in the object cd, you have the form as a dictionary. 
      a = cd.get('a') 

    #blah blah encode parameters for a url blah blah 
    #and make another post request 
    #edit : added ": " after if request.method=='POST' 

ve

: Müthiş

<form action="{% url form_handle %}" method="POST">{% csrf_token %} 
    {{form.as_p}} 
    <button type="submit">Submit</button> 
</form> 
+2

tamamen forms.Form şeyi gözardı. Bu çalışmalı! Teşekkürler!!! – AdRoiT