django(FBV模式) 进行前后端数据传递(get/post)

整体思路

  1. templates 包括:login.html、index.html
  2. static—— 包括:css文件,js文件
    这里写图片描述

html文件


{#login页面文件#}
----------------------------------------
<body>
<form action="/login" method="post">
    <label for="log_name">请输入用户名:</label>
    <input id="log_name" name="user" type="text" placeholder="请输入用户名"><br/>
    <label for="log_pwd">请输入密码:</label>
    <input id="log_pwd" name="pwd" type="password" placeholder="请输入密码"><span style="color:red;">{{ error_msg }}</span><br/>

    <input type="submit" value="提交">
</form>
</body>

{#index页面文件#}
----------------------------------------
<body>
    <div class="header">
        后台管理系统
    </div>
    <div>
        <form action="/home" method="post">

**{#此处进行内容的post#}**

            <input type="text" placeholder="用户名" name="home_username">
            <input type="text" placeholder="年龄" name="home_age">
            <input type="text" placeholder="性别" name="home_gender">
            <input type="submit" value="提交">
        </form>
        <table>

**{#在django的模板语言中,以{%%}来进行for循环,且需要收尾#}**

            {% for row in user_list %}
            <tr>

**{#在django中可将view中的内容以{{}}的形式对html进行传递#}**
**{#而对其字典的取值可以对象形式进行取值#}**

                <td>{{ row.username }}</td>
                <td>{{ row.age }}</td>
                <td>{{ row.gender }}</td>
            </tr>
            {% endfor %}
        </table>
    </div>
</body>

url文件

from django.contrib import admin
from django.urls import path
from cmdb import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('home', views.home),
    path('login', views.login),

**{#在url里path的第一个取值两边都不加/,在html中只加前面的,不然会导致runtime报错#}**

]

view文件

from django.shortcuts import render

# Create your views here.
from django.shortcuts import HttpResponse
from django.shortcuts import render, redirect


def login(request):
    error_msg = ''
    if request.method == 'POST':
        user = request.POST.get('user', None)
        pwd = request.POST.get('pwd', None)
        if user == 'root' and pwd == '123':
            return redirect('/home')
        else:
            error_msg = '用户名/密码错误!!!'
    return render(request, 'login.html', {'error_msg': error_msg})


user_list = [
    {'username': 'alex', 'age': '21', 'gender': 'M'},
]
# for i in range(20):
#     temp = {'username': 'alex' + str(i), 'age': '21' + str(i), 'gender': 'M'}
#     user_list.append(temp)


def home(request):
    if request.method == 'POST':
        u = request.POST.get('home_username')
        a = request.POST.get('home_age')
        g = request.POST.get('home_gender')
        temp = {'username': u, 'age': a, 'gender': g}
        user_list.append(temp)
    return render(request, 'home.html',{'user_list':user_list})

django(CBV模式)
进行前后端数据传递(get/post):http://blog.csdn.net/qq471011042/article/details/79347062

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值