Django项目18

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 admin
admin.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:utf8
from django.db import models
from django.contrib.auth.models import User

class 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,HttpResponseRedirect
from django.shortcuts import render_to_response
from django import forms
from django.contrib.auth import authenticate,login
from django.contrib.auth.models import User
from 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>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值