Djangoフレームのview(業務ロジック)簡単なバックグラウンド登録業務ロジック詳細説明


from django.shortcuts import render,HttpResponse,HttpResponseRedirect
import models
from django.db.models import Q  #          
from django.core.paginator import Paginator,InvalidPage,EmptyPage,PageNotAnInteger    #              
from django.contrib import auth      #   ,  ,      
from django.contrib.auth.decorators import login_required       #                   
from django.contrib.auth.models import User        #      
from django.contrib.auth.hashers import make_password    #         
import os
import uuid   #        
#     
def reg(request):
    if request.method == 'POST':
        #       
        username = request.POST.get('username',None)
        password1 = request.POST.get('password1',None)
        password2 = request.POST.get('password2',None)
        nick = request.POST.get('nick',"")
        phone = request.POST.get('phone',"")
        print username
        if username and password1 and password2:
            if password1 == password2:
                #               
                u_count = User.objects.filter(username=username).count()    #         
                if u_count == 0:   #        
                    #        
                    user_info = {
                        'username':username,
                        'password':make_password(password2)
                    }
                    user_info = User.objects.create(**user_info)
                    #           
                    user_profile={
                        'nick':nick,
                        'phone':phone,
                        'user':user_info
                    }
                    models.UserProfile.objects.create(**user_profile)
                    return HttpResponseRedirect('/pro01/login/')
                else:
                    return render(request, 'pro01/reg.html', {'error': '      '})
            else:
                return render(request,'pro01/reg.html',{'error':'       '})
    else:
        return render(request,'pro01/reg.html')
# ajax         

def checkname(request):
    #   ajax   name
    name = request.GET.get('name',None)
    res = models.User.objects.filter(username=name).count()   #      
    if res == 0:
        return HttpResponse('ok')
    else:
        return HttpResponse('       ')
注意:上記の内容は個人の使い勝手の記録です.簡単な使い方を紹介しました.
みんなを歓迎してツッコミに来て、瓜子の飲み物のミネラルウォーターを用意して、整えます!
-------------------------------------------
できるだけさわらないでください.