2016-03-24 4 views
0

çalışmıyor:Django tüm auth Kaydı aşağıdaki şekilde ben formu özelleştirilmiş tabela oluşturduk

<form class="register-form" method="post" action="{% url 'account_signup' %}?next={{ request.GET.next }}&&ref={{ request.GET.ref }}" enctype="multipart/form-data"> 
     {% csrf_token %} 
     <h3>Sign Up</h3> 
     <p> 
      Enter your personal details below: 
     </p> 

     <div class="form-group"> 
      <div class="input-icon"> 
       <label class="control-label my-file" for="profilePicLabel">Profile Pic</label> 
       <input type="file" id="profilePhotoFileUpload" name="image" value="{% static 'defaultAvatar.png' %}"> 
      </div> 
     </div> 
     <div class="form-group"> 
      {{ form.first_name.label_tag }} 
      <!-- <label class="control-label visible-ie8 visible-ie9">Full Name</label> --> 
      <div class="input-icon"> 
       <i class="fa fa-font"></i> 
       {{ form.first_name }} 
       <!-- <input class="form-control placeholder-no-fix" id="signup-full-name" type="text" placeholder="Full Name" name="first_name" /> --> 
      </div> 
      <p class="login-error" id="invalid-full-name">This field is required</p> 
     </div> 

     <div class="form-group"> 
      {{ form.last_name.label_tag }} 
      <!-- <label class="control-label visible-ie8 visible-ie9">Full Name</label> --> 
      <div class="input-icon"> 
       <i class="fa fa-font"></i> 
       {{ form.last_name }} 
       <!-- <input class="form-control placeholder-no-fix" id="signup-full-name" type="text" placeholder="Full Name" name="first_name" /> --> 
      </div> 
      <p class="login-error" id="invalid-full-name">This field is required</p> 
     </div> 

     <div class="form-group"> 
      {{ form.email.label_tag }} 
      <!-- <label class="control-label visible-ie8 visible-ie9">Email</label> --> 
      <div class="input-icon"> 
       <i class="fa fa-envelope"></i> 
       {{ form.email }} 
       <!-- <input class="form-control placeholder-no-fix" id="signup-email" type="text" placeholder="Email" name="email" /> --> 
      </div> 
      <p class="login-error" id="invalid-email">This field is required</p> 
     </div> 

     <div class="form-group"> 
      {{ form.address.label_tag }} 
      <!-- <label class="control-label visible-ie8 visible-ie9">Address</label> --> 
      <div class="input-icon"> 
       <i class="fa fa-check"></i> 
       {{ form.address }} 
       <!-- <input class="form-control placeholder-no-fix" id="signup-address" type="text" placeholder="Address" name="address" /> --> 
      </div> 
      <p class="login-error" id="invalid-address">This field is required</p> 
     </div> 
     <div class="form-group"> 
      {{ form.city.label_tag }} 
      <!-- <label class="control-label visible-ie8 visible-ie9">City/Town</label> --> 
      <div class="input-icon"> 
       <i class="fa fa-location-arrow"></i> 
       {{ form.city }} 
       <!-- <input class="form-control placeholder-no-fix" id="signup-city" type="text" placeholder="City/Town" name="city" /> --> 
      </div> 
      <p class="login-error" id="invalid-city">This field is required</p> 
     </div> 
     <div class="form-group"> 
      <!-- <label class="control-label visible-ie8 visible-ie9">Country</label> --> 
      {{ form.country.label_tag }} 
      {{ form.country }} 
      <!-- <select name="country" id="select2_sample4" class="select2 form-control"> 
       <option value=""></option> 
       <option value="AF">Afghanistan</option> 
       <option value="AL">Albania</option> 
       <option value="DZ">Algeria</option> 
       <option value="AS">American Samoa</option> 
       <option value="AD">Andorra</option> 
       <option value="AO">Angola</option> 
       <option value="AI">Anguilla</option> 
       <option value="AR">Argentina</option> 
      </select> --> 
      <p class="login-error" id="invalid-country">This field is required</p> 
     </div> 
     <p> 
      Enter your account details below: 
     </p> 
     <div class="form-group"> 
      {{ form.username.label_tag }} 
      <!-- <label class="control-label visible-ie8 visible-ie9">Username</label> --> 
      <div class="input-icon"> 
       <i class="fa fa-user"></i> 
       {{ form.username }} 
       <!-- <input class="form-control placeholder-no-fix" id="signup-username" type="text" autocomplete="off" placeholder="Username" name="username" /> --> 
      </div> 
      <p class="login-error" id="invalid-username">This field is required</p> 
     </div> 
     <div class="form-group"> 
      {{ form.password1.label_tag}} 
      <!-- <label class="control-label visible-ie8 visible-ie9">Password</label> --> 
      <div class="input-icon"> 
       <i class="fa fa-lock"></i> 
       {{ form.password1 }} 
       <!-- <input class="form-control placeholder-no-fix" id="signup-password" type="password" autocomplete="off" id="register_password" placeholder="Password" name="password1" /> --> 
      </div> 
      <p class="login-error" id="invalid-password">This field is required</p> 
     </div> 
     <div class="form-group"> 
      {{ form.password2.label_tag }} 
      <!-- <label class="control-label visible-ie8 visible-ie9">Re-type Your Password</label> --> 
      <div class="controls"> 
       <div class="input-icon"> 
        <i class="fa fa-check"></i> 
        {{ form.password2 }} 
        <!-- <input class="form-control placeholder-no-fix" type="password" autocomplete="off" placeholder="Re-type Your Password" name="password2" /> --> 
       </div> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label></label> 
       <input type="checkbox" id="tnc" name="tnc" /> I agree to the <a href="termsofservice.html" target="_blank"> 
     Terms of Service </a> and <a href="privacypolicy.html" target="_blank"> 
     Privacy Policy </a> 

      <div id="register_tnc_error"> 
      </div> 
      <p class="login-error" id="invalid-tnc">Please check that you have read and agree to the Terms & Conditions</p> 
     </div> 
     {% if redirect_field_value %} 
      <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" /> 
     {% endif %} 
     <div class="form-actions"> 
      <button id="register-back-btn" type="button" class="btn"> 
       <i class="m-icon-swapleft"></i> Back </button> 
      <button type="submit" id="register-submit-btn" class="btn blue pull-right"> 
       Sign Up <i class="m-icon-swapright m-icon-white"></i> 
      </button> 
     </div> 
    </form> 
    <!-- END REGISTRATION FORM --> 

i doğru Django belgelendirmesi olarak takip ettim her adım.

class MySignupForm(forms.Form): 
required_css_class = 'required' 
curyear = datetime.now().year 
image = forms.ImageField(required=False,label='Profile Image') 
first_name = forms.CharField(max_length=30, label='Full Name', widget=forms.TextInput(attrs={'name':'first_name','placeholder': 'First Name','autofocus': 'autofocus','id':'signup-full-name'})) 
last_name = forms.CharField(max_length=30, label='Last Name', widget=forms.TextInput(attrs={'placeholder': 'Last Name','name':'last_name','id':'signup-full-name'})) 
address = forms.CharField(max_length=1024, label="Address", widget=forms.TextInput(attrs={'placeholder': 'Address'}),required=False) 
city = forms.CharField(max_length=512, widget=forms.TextInput(attrs={'placeholder': 'City/Town'}),required=True) 
country = forms.ChoiceField([i for i in countryAndStateList.countryList], widget=forms.Select(attrs={'id':'select2_sample4', 'class':'select2 form-control'}),required=True) 
agreement = forms.BooleanField(required=True,label="") 

def __init__(self,*args,**kwargs): 
    super(MySignupForm,self).__init__(*args,**kwargs) 

def signup(self, request, user): 
    print("reached here") 
    user.first_name = self.cleaned_data['first_name'] 
    user.last_name = self.cleaned_data['last_name'] 
    address = request.POST.get('address','') 
    city=request.POST.get('city','') 
    country=request.POST.get('country','') 
    extendeduser = ExtendedUser(user=user,address=address,city=city,country=country,imageUrl=request.FILES.get('image','')) 
    extendeduser.save() 

Ama kayıt olmuyor:

Gümrüklü Kayıt formu sınıftır. Burada yanlış bir şey yapıyorumsa, birisi yardım edebilir.

+0

Görünümleriniz için kayıt yöntemi nedir? – Lucas03

cevap

0

Bunu denediniz mi? kaydolma için yeni bir form oluşturursanız size allauth formu geçersiz kılarsanız

ACCOUNT_FORMS = {'signup': 'myapp.forms.MySignupForm'} 

tarafından settings.py yılında allauth için özel bir form işaret veya

ACCOUNT_SIGNUP_FORM_CLASS = 'myapp.forms.MySignupForm' 

olabilir, kısaca docs tanıtıldı.