Django项目18

来源:互联网 发布:自学java要多长时间 编辑:程序博客网 时间:2024/06/05 11:16

1.准备工作

2.settings.py

AUTH_PROFILE_MODULE ='blog.UserProfile' #这个是新加的哦,这里的blog是应用名【1】


3.urls.py

from django.conf.urls.defaults import patterns, include, url from django.contrib import adminadmin.autodiscover()urlpatterns = patterns('',    url(r'^admin/', include(admin.site.urls)),)

4.blog.urls.py
#coding:utf8#这是大urls.py的小子集from django.conf.urls.defaults import patterns, include, url urlpatterns = patterns('',    url(r'regist/$','blog.views.regist'),    url(r'index/$','blog.views.index'),    url(r'log/$','blog.views.log'),    url(r'disp/$','blog.views.disp'),    url(r'logout/$','blog.views.logout'),)


5.models.py

#coding:utf8from django.db import modelsfrom django.contrib.auth.models import Userclass UserProfile(models.Model):                                          #【2】    msg = models.CharField(max_length = 200)    user = models.ForeignKey(User,unique = True)

6.views.py

#coding:utf8# Create your views here.from django.http import HttpResponse,HttpResponseRedirectfrom django.shortcuts import render_to_responsefrom django import formsfrom django.contrib.auth import authenticate,loginfrom django.contrib.auth.models import Userfrom blog.models import UserProfile                                        #【3】#--------------------------------------------------------------class Log(forms.Form):    name=forms.CharField()    password=forms.CharField(widget=forms.PasswordInput)def log(req):    if req.method == 'POST':        log = Log(req.POST)        if log.is_valid():            name=log.cleaned_data['name']            password = log.cleaned_data['password']            user = authenticate(username=name,password=password)            if user is not None:                login(req,user)                return HttpResponseRedirect('/shop/index/')    else:        log=Log()    return render_to_response('log.html',{'log':log})#--------------------------------------------------------------class Regist(forms.Form):    name=forms.CharField()    password=forms.CharField(widget=forms.PasswordInput)    email=forms.EmailField()    intr = forms.CharField(widget = forms.Textarea())def regist(req):    if req.method == 'POST':        regist = Regist(req.POST)        if regist.is_valid():            name=regist.cleaned_data['name']            password = regist.cleaned_data['password']            email = regist.cleaned_data['email']            intr = regist.cleaned_data['intr']            user=User.objects.create_user(name,email,password)            userporfile = UserProfile.objects.create(user = user,msg = intr) #【4】            return HttpResponseRedirect('/shop/log/')    else:        regist=Regist()    return render_to_response('regist.html',{'regist':regist})#-------------------------------------------------------------def logout(req):    return HttpResponse('ok')def index(req):    if req.user.is_authenticated():        return HttpResponse(req.user.username)    else:        return HttpresponseRedirect('/shop/login/')#--------------------------------------------------------------def disp(req):    users=User.objects.all()    return render_to_response('disp.html',{'users':users})

regist.html,log.html略过

disp.html

<body>{%for u in users%}姓名:{{u.username}}<br />签名:{{u.get_profile.msg}}<br />                                              <!-- 5 -->{%endfor%}</body>

原创粉丝点击