Python新手使用的Django架站的16堂课 --- 第九章(三)

Python新手使用的Django架站的16堂课 — 第九章(三)

page271

views.py
from django.contrib import messages
def login(request):
    if request.method == 'POST':
        login_form = forms.LoginForm(request.POST)
        if login_form.is_valid():
            login_name = request.POST['username'].strip()
            login_password = request.POST['password']
            try:
                user = models.User.objects.get(name=login_name)
                
                if user.password == login_password:                                        
                    request.session['username'] = user.name
                    request.session['useremail'] = user.email
                    messages.add_message(request,messages.SUCCESS,"成功登录了")
                    
                    return redirect('/')
                
                else:
                    messages.add_message(request,messages.WARNING,'密码错误,请再检查一次')
                    
            except:
                    messages.add_message(request,messages.WARNING, '找不到用户')
            
        else:
            messages.add_message(request, messages.INFO,'请检查输入的字段内容')
    else:
       login_form = forms.LoginForm()
        
     
    template = get_template('login.html')                       
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    response = HttpResponse(html)
        
    return response
login.html
<!-- login.html (ch09www project) -->
{% extends "base.html" %}
{% block title %}登录分享日记{% endblock %}
{% block content %}
<div class='container'>
{% for message in messages %}
    <div class='alert alert-{{ message.tags }}'>{{ message }}</div>
{% endfor %}

<div class='row'>
    <div class='col-md-12'>
        <div class='panel panel-default'>
            <div class='panel-heading' align=center>
            <h3>登录我的私人日记</h3>
    </div>
</div>
<form action='.' method='POST'>
    {% csrf_token %}
        <table>
            {{ login_form.as_table }}
        </table>
    <input type='submit' value='登录'><br/>
</form>
</div>
{% endblock %}


index.html
<!-- index.html (ch09www project) -->
{% extends "base.html" %}
{% block title %}分享日记{% endblock %}
{% block content %}
<div class='container'>
{% for message in messages %}
    <div class='alert alert-{{ message.tags }}'>{{ message }}</div>
{% endfor %}

<div class='row'>
    <div class='col-md-12'>
        <div class='panel panel-default'>
            <div class='panel-heading' align=center>
            <h3>我的私人日记</h3>
    </div>
</div>

{% if username %}
    欢迎:{{ username }}
{% endif %}
</div>
{% endblock %}
views.py
def index(request,pid=None,del_pass=None):

    if 'username' in request.session:
        username = request.session['username']
        useremail = request.session['useremail']
                   
    messages.get_messages(request)

    template = get_template('index.html')
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)    
    
    

在这里插入图片描述

源码:

ch0922www.tar
https://download.youkuaiyun.com/download/wowocpp/11782205

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值