python-django学习足迹(六)

文章目录

视图部分

1.创建数据模型


from django.db import models

# Create your models here.


class Stu(models.Model):
    name = models.CharField(max_length=32)
    age = models.IntegerField(default=18)
    sex = models.BooleanField(default=True)



    def showMessage(self):
        return '我叫 ' +  self.name + ' --我的年龄是: ' + str(self.age)




2.数据迁移


python manage.py makemigrations
python manage.py migrate


3.urls.py


from django.urls import path, re_path
from django.contrib import admin
from .views import *


# 对namespace进行注册
# 创建主urls命名空间后,需要在子路由进行声明
app_name = 'app01'

urlpatterns = [

    # path('index',getIndex),

    path('addStu/',addStu),

    path('postData/',getPostData,name="postData"),


    # 利用主路由设定的命名空间,在子路由子路径设置name属性来指代该条路径
    re_path(r'^getStu/(?P<sId>\d+)/$',getStu, name="all"),


    # path('getTemp/',getTemp),
    #
    #
    # path('getExtends/',getExtends),

]


4.views.py


from urllib import request

from django.shortcuts import render, HttpResponse, redirect
from .models import *
from django import template


# Create your views here.



# 构建首页
# def getIndex(request):
#
#     return render(request,'app01/index.html')


def addStu(request):
    # 进入信息填写表单页面
    return render(request,'app01/addStuForm.html')


def getPostData(reqeust):
    # # 对表单提交的数据进行处理
    # stu = Stu()
    # # get()方法获取的是表单标签属性 name 的值
    # stu.name = reqeust.GET.get('name')
    # stu.age = reqeust.GET.get('age')
    #
    # if reqeust.GET.get('sex') == '男':
    #     stu.sex = True
    # else:
    #     stu.sex = False
    #
    # stu.save()
    # return HttpResponse('添加学生 ' + stu.name + ' 信息成功!')

    # 对 POST 请求的处理
    # 对表单提交的数据进行处理
    stu = Stu()
    # get()方法获取的是表单标签属性 name 的值
    stu.name = reqeust.POST.get('name')
    stu.age = reqeust.POST.get('age')

    if reqeust.POST.get('sex') == '男':
        stu.sex = True
    else:
        stu.sex = False

    stu.save()
    # 获取请求数据 的 CONTENT_LENGTH:数据长度
    str = reqeust.META['CONTENT_LENGTH']
    return HttpResponse(str)











def getStu(request,sId):


    stu = Stu.objects.get(pk=sId)

    # 路径重定向,让此方法返回自定义路径
    return redirect('app01NameSpace:all')


    # return render(request,'app01/index.html',locals())


    #
    #
    # return render(request,'app01/index.html',{'stus':ss})
    # t = template.Template('<h1>{{ name }}</h1>')
    # c = template.Context({ 'name':stu.name })
    # str = t.render(c)
    #
    # return HttpResponse(str)


# def getTemp(request):
#     return render(request,'app01/temp.html')
#
#
#
# def getExtends(request):
#     return render(request,'app01/son.html')





5.addStuForm.html


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>


<!-- 点击提交,数据会被提交到 app01NameSpace:postData 中 -->
<form action="{% url 'app01NameSpace:postData' %}" method="post">
    <!-- 服务器验证是否来自自身网址的请求,防止跨站攻击 -->
    {% csrf_token %}

    <label for="">姓名:</label><input type="text" name="name"/> </br>
     <label for="">年龄:</label><input type="text" name="age"/> </br>
     <label for="">性别:</label><input type="text" name="sex"/> </br>
    <input type="submit" value="提交">

</form>


</body>
</html>



6.index.html



<!DOCTYPE html>

<!-- 引入静态文件 -->
 {% load staticfiles %}

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>


    <link rel="stylesheet" href="{% static 'css/index.css' %}">
</head>
<body>
    <div id="nav">

        <div class="son_nav">

            <h1> 欢迎来到图书管理系统!</h1>


        </div>


    </div>


    <div id="middle">

        <div class="banner">

        <ul>
            <li><a href="">学生成绩查询</a></li>
            <li><a href="">老师课程查询</a></li>
            <li><a href="">学生课程查询</a></li>
            <li><a href="">学生考试查询</a></li>

        </ul>


         </div>

        <div class="content">
            <ul>
                <li>
                    学生姓名: {{ stu.name }}
                </li>
                <li>
                    学生年龄: {{ stu.age }}
                </li>
                <li>
                    {% if stu.sex == 1 %}
                        学生性别: 男
                    {% endif %}
                    {% if stu.sex == 0 %}
                        学生性别: 女
                    {% endif %}
                </li>
            </ul>


        </div>

    </div>



</body>
</html>



在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值