Python 在django中显示自定义用户的配置文件

Python 在django中显示自定义用户的配置文件,python,django,django-models,django-forms,Python,Django,Django Models,Django Forms,嗨,我在一个项目上工作,我已经登录并注册了一个用户。现在我想显示用户的完整配置文件。由于get_配置文件不再工作,因此如何获取用户的完整配置文件 my models.py class Consultants(models.Model): consul_id=models.IntegerField(default=0,primary_key=True) first_name=models.CharField(max_length=255,blank=True,null=True)

嗨,我在一个项目上工作,我已经登录并注册了一个用户。现在我想显示用户的完整配置文件。由于get_配置文件不再工作,因此如何获取用户的完整配置文件

my models.py

class Consultants(models.Model):

    consul_id=models.IntegerField(default=0,primary_key=True)
    first_name=models.CharField(max_length=255,blank=True,null=True)
    last_name=models.CharField(max_length=255,blank=True,null=True)
    email=models.EmailField(max_length=255,blank=True,null=True)
    username=models.CharField(max_length=255,blank=True,null=True)
    password=models.CharField(max_length=50,blank=True,null=True)

    last_login=models.DateTimeField(default=datetime.now,blank=True,null=True)
    is_active=models.BooleanField(default=False)

    def __str__(self):
        return self.first_name
views.py用于登录和注册

def register(request):
    context = RequestContext(request)
    registered = False
    if request.method == 'POST':
        # user_form = UserForm(data=request.POST)
        consultant_form = ConsultantsForm(data=request.POST)
        if consultant_form.is_valid():
            consultant = consultant_form.save(commit=False)
            consultant.save()
            registered = True
        else:
            print consultant_form.errors
    else:
        consultant_form = ConsultantsForm()
    return render_to_response(
            'register.html',
            {'consultant_form': consultant_form, 'registered': registered},
            context_instance=RequestContext(request))

def login_user(request):
     context = RequestContext(request)
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        print type(username)
        print "username",username
        try:
            user = Consultants.objects.get(Q(username= username) & Q(password= password))
            print 'chala'
            if user.is_active:
                user.backend = 'django.contrib.auth.backends.ModelBackend'
                login(request, user)
                return HttpResponse("welcome......you are succesfuly log in")
            else:
                return HttpResponse("Your UkKonnect account is disabled.")
        except ObjectDoesNotExist:
            return HttpResponse("INvalid User")


    else:
         return render_to_response('login.html', {}, context)
我想创建def完整配置文件和def编辑配置文件。 我怎样才能登录到用户consul_id??
请帮助我,我不确定我是否理解你的问题。。查看扩展用户模型的推荐方法:

然后你可以做:

u = User.objects.get(username='fsmith')
freds_department = u.employee.department
在您的情况下,它将是:

class Consultant(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    *your fields here*
  • 现在,您可以使用标准的身份验证表单和方法
  • 您始终可以通过以下方式获取顾问数据:

    request.user.consultant
    

  • 你在这里没有配置文件模型,你有一个替换用户模型;获取您的配置文件将不会起任何作用。您的问题不清楚,您不能做什么?我想查看已登录的顾问的完整资料in@DanielRoseman我想看看咨询师的全部资料,是什么阻止了你这么做?你到底在哪里遇到问题?我不知道如何获取登录用户的领事id我不想使用OneToOne字段。我的COnsultants字段中有all字段
    request.user.consultant