2017-07-26 49 views
0

我創建了models.py,forms.py,views.py & registeration.html。 目前在registeration.html中我直接導入了像{{reg_form.as_p}}這樣的django表單,我也可以通過以下兩種方式來完成:{{form.as_table}}或{{form.as_ul}}。我想要的是對要顯示的字段進行真正的控制。說一些字段的含義可能是表格,有些可能是列表等特定的CSS。 我在HTML訪問現場嘗試什麼是提到如下: ID = {{form.id_FullName}}名字= {{form.FullName}}如何通過HTML訪問Django表單域

在models.py我 全名= models.CharField( max_length = 100)

上述方式沒有工作,我想用某種方式訪問​​HTML中的django字段。

+0

https://stackoverflow.com/questions/20241379/accessing-individual-form-fields-in-django的可能欺騙-template – Bijoy

回答

0

添加name並傳遞modelname, 更改這樣,

樣品
<input type="text" id="id_FullName" value="" name="FullName" />. 

並提交您的表單。

實施例,讓我們說註冊表單:

forms.py,

class SignUpForm(forms.ModelForm): 
    email = forms.CharField(label='email', max_length=100) 
    password = forms.CharField(label='password', max_length=100) 

    def __init__(self, *args, **kargs): 
     super(SignUpForm, self).__init__(*args, **kargs) 

    class Meta: 
     model = User 
     fields = '__all__' 

views.py,

def signup(request): 
    form = SignUpForm(request.POST or None) 
    if request.method == 'POST': 
     form = SignUpForm(request.POST or None) 
     if not form.is_valid(): 
      print form.errors 
      return render(request, 'signup.html', {'form': form}) 
     else: 
      email = form.cleaned_data.get("email") 
      password = form.cleaned_data.get("password") 
      new_user = User.objects.create_user(email=email, 
               password=password, 
                ) 
      new_user.is_active = True 
      new_user.save() 
      return redirect('login') 
    else: 
     return render(request, 'signup.html', {'form': form}) 

urls.py

url(r'^signup', views.signup, name='signup'), 
在模板

最後即signup.html

<form action="." method="post"> {% csrf_token %}  

       <div class="form-group"> 
        <input type="text" class="form-control" name="email" id="inputUsernameEmail" placeholder="Email"> 
       </div> 
       <div class="form-group"> 
        <input type="password" name="password" class="form-control" id="inputPassword" placeholder="Password"> 
       </div> 

       <input type="submit" name="Sign up" value="Sign up" id="Sign_up" class="button_drop outline"> 
      </form>  
+0

我正在接受來自我的HTML表單的值。例如,說註冊表格 –

+0

''這將起作用。 –

+0

感謝它的工作。因此,就像在ID屬性中,我們需要id =「id_fieldname」,並且在forms.py/models.py中使用相同的字段名稱,無論您定義它的哪個位置。 –

0

可以手動使該字段。[Documentation]

下面是從文檔採取主題字段

<div class="fieldWrapper"> 
    {{ form.subject.errors }} 
    {{ form.subject.label_tag }} 
    {{ form.subject }} 
</div> 
+0

我正在尋找接受來自HTML表單(例如註冊表單)的值,而不是在表單上顯示值。文檔中提供的方法是獲取值和顯示。 –