2015-01-02 44 views
0

我使用Django Django的,所以我的Registe形式如下Django的 - 場的登記表默認值

class RegisterForm(forms.ModelForm): 
    class Meta: 
     model = User 
     fields = ('username', 'email', 'password',) 
     widgets = { 
      'password': forms.PasswordInput() 
     }  

,但是當我去註冊頁面的某些字段已經與價值觀填寫登記表格我曾經登錄到我的超級用戶,我想使它們爲空或具有某些默認值,如[email protected],但我不知道我該怎麼做。 我正在使用Django 1.7和Python 2.7

我試圖用不同的用戶登錄,我重申,在註冊形式是我上次使用的密碼,所以它不一樣的時間,但它是最後一次重新編號密碼。

我乾淨的歷史,當網站不記得任何密碼,然後形式看起來像我想,佔位作品等

+0

複製? http://stackoverflow.com/questions/4101258/how-do-i-add-a-placeholder-on-a-charfield-in-django – Pran

+0

你有註銷功能嗎?如果是這樣,請張貼它。另外,當你更改'models.py'和'forms.py'時,是否停止服務器,同步數據庫並重新啓動服務器? –

回答

0

只是使用佔位符爲

class Meta: 
    model = User 
    widgets = { 
     'password': forms.PasswordInput(), 
     'email': EmailInput(attrs={'placeholder': '[email protected]'}), 
    } 
+0

它不起作用。 – Meii

+0

@Meii它會來看我更新的答案... –

+0

仍然沒有:( – Meii

1

而不是定義它Meta類,嘗試定義它像這樣的形式定義:

email = forms.EmailField(label='email', 
        widget=forms.TextInput(attrs={'placeholder': '[email protected]'})) 

或者你可以做到這一點jQuery中像這樣:

<script type="text/javascript" > 
    $(document).ready(function(){ 
     $("#id_username").attr('placeholder', '{{form.username.label}}'); 
     $("#id_email").attr('placeholder', '{{form.email.label}}'); 
    }); 
</script> 

然後定義你的label='[email protected]'

編輯

你可以嘗試重新初始化一個空的表單用戶像這樣在登錄後:

if request.method == "POST": 
    rf = RegistrationForm(request.POST) 
    if rf.is_valid(): 
     # This reinitializes an empty form before rendering a response 
     rf = LoginForm() 
     return render_to_response(...) 
+0

我沒有在模板中使用輸入。我正在使用'{{form.as_p}}'。 – Meii

+0

看看我最近的編輯。 –

+0

缺少表格。在EmailInput沒有問題之前,我已經添加了它,但仍然沒有任何內容 – Meii