Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 每次我试图将用户添加到数据库时,Django中的date_joined和last_login required错误_Python_Django - Fatal编程技术网

Python 每次我试图将用户添加到数据库时,Django中的date_joined和last_login required错误

Python 每次我试图将用户添加到数据库时,Django中的date_joined和last_login required错误,python,django,Python,Django,每次我填写表格注册用户时,流程都会停止,因为需要最后一次登录和加入日期。是否自动设置,或者我可以将其添加到哪里才能正常注册?? Views.py import datetime @csrf_exempt def EmployerRegistration(request): print 'before' if request.user.is_authenticated(): return HttpResponseRedirect('/profile/')

每次我填写表格注册用户时,流程都会停止,因为需要最后一次登录和加入日期。是否自动设置,或者我可以将其添加到哪里才能正常注册?? Views.py

import datetime



@csrf_exempt
def EmployerRegistration(request):
    print 'before'
    if request.user.is_authenticated():
        return HttpResponseRedirect('/profile/')
    if request.method == 'POST':
            form = SignUpForm(request.POST)
            print form
            print"then"
            print form.errors
            if form.is_valid():
                print 'hello'
                employer =Employer.objects.create(username=form.cleaned_data["username"],password= form.cleaned_data['password'],first_name=form.cleaned_data['first_name'],last_name=form.cleaned_data['last_name'],email=form.cleaned_data['email'],address=form.cleaned_data['address'],mobile=form.cleaned_data['mobile'])
                employer.save()
                return HttpResponseRedirect('/login/')  



            else:
                print 'notvalid'
                return render_to_response('Sign_up_Employer.html',{'form':form}, context_instance=RequestContext(request))
            #return render_to_response('/lol/',{'form':form}, context_instance=RequestContext(request))
                last_login

    else:
        #user is not submitting show them the registeration form
                print 'not post'
                form= SignUpForm()
                context = {'form':form}
                return render_to_response('Sign_up_Employer.html',context,context_instance=RequestContext(request))
form.py

from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
from django import forms
from django.forms import ModelForm
from shoghlanah.models import *
import datetime


class SignUpForm(ModelForm):

    username      = forms.CharField(label=(u'Username'))
    first_name    = forms.CharField(label=(u'First name'))
    last_name     = forms.CharField(label=(u'Last name'))
    address       = forms.CharField(label=(u'Address'))
    email         = forms.EmailField(label=(u'Email Address'))
    password      = forms.CharField(label=(u'Password'),widget=forms.PasswordInput(render_value=False))
    password1     = forms.CharField(label=(u'Verify Password'),widget=forms.PasswordInput(render_value=False))
    mobile        = forms.IntegerField(label=(u'Mobile'))
    ## is it valid to put the here??
    last_login    =datetime.datetime.now()
    date_joined   =datetime.datetime.now()

    class Meta:
            model = Employer
        ## check whats Exclude !!!!
            exclude = ('user',)

    def clean_username(self):
            username = self.cleaned_data['username']
            try:
                User.objects.get(username=username)
                raise forms.ValidationError("That username already exists.Please select another")
            except User.DoesNotExist:
                return username

虽然您尚未添加有关该问题的一些重要信息(如雇主模型),但您的问题可能是当您在此行中保存和使用雇主时:

employer =Employer.objects.create(username=form.cleaned_data["username"],password= form.cleaned_data['password'],first_name=form.cleaned_data['first_name'],last_name=form.cleaned_data['last_name'],email=form.cleaned_data['email'],address=form.cleaned_data['address'],mobile=form.cleaned_data['mobile'])
您具有以下属性:

  • 用户名
  • 密码
  • 名字
  • 电子邮件
  • 地址
  • 流动的
如果您的问题是需要最后一次登录和加入日期,则应在
create()
方法中添加:

import datetime
#last_login=datetime.datetime.now(), date_joined=datetime.date.now()
像这样:

employer =Employer.objects.create(last_login=datetime.datetime.now(),date_joined=datetime.datetime.now(),username=form.cleaned_data["username"],password= form.cleaned_data['password'],first_name=form.cleaned_data['first_name'],last_name=form.cleaned_data['last_name'],email=form.cleaned_data['email'],address=form.cleaned_data['address'],mobile=form.cleaned_data['mobile'])
这样可以解决你的问题


更新 由于您使用的是
。is\u valid()
,因此您需要按照以下方式执行。 而不是:

if request.method == 'POST':
    form = SignUpForm(request.POST)
    print form
    print"then"
    print form.errors
    if form.is_valid():
        print 'hello'
你需要:

if request.method == 'POST':
    data = request.POST.copy()
    data['date_joined'] = datetime.date.today()
    data['last_login'] = datetime.datetime.now()

    form = SignUpForm(data)
    print form
    print"then"
    print form.errors
    if form.is_valid():
        print 'hello'

@不幸的是,我的问题没有得到解决suggestions@Guilherem如果form.isvalid()拒绝输入,则未发生任何事情由于上一个日志和日期是必需的,我将它们写在了表单中,但在截取表单后@Guillherme没有发生任何事情。我如何添加它们?我必须将它们添加到表单中。py请您解释一下吗?上一个登录名和加入日期无效。