django 笔记2

默默坚持

1:路由系统 URL

2:视图
    request.GET
    request.POST
    request.FILES

    #checkbox等多选的内容
    request.POST.getlist()

    #上传文件 form标签做特殊设置
    <form action="/login/" method="post" enctype="multipart/form-data">
    obj = request.FILES.get('abc')
    obj.name
    f = open(obj.name, mode="wb)
    for item in obj.chunks():
        f.write(item)
    f.close()


3:模板

4:ORM操作

select * from tb where id > 1
#对应关系 增删改查 一对多
models.tb.objects.filter(id__gt=1) #__大于1
models.tb.objects.filter(id=1)
models.tb.objects.filter(id__lt=1) #__ 小于1

Django请求生命周期
客户端                         服务器端(/index-> def f1():) //返回字符串
URL对应关系(匹配) --》 视图函数 views.py -》返回给用户字符串
URL对应关系(匹配) --》 视图函数 views.py -》打开一个HTML文件,读取内容,返回给用户

2、创建django程序
django-admin startproject mysite

  ..
  mysite
    mysite
        -配置文件
        -url.py
        -settings.py
    cd mysite
    python manage.py startapp cmdb
    cmdb
        -views.py
        -admin.py
        -models.py #创建数据库表 操作数据库表

3、配置
    模板路径
    静态文件路径
    注释CSRF

4、编写程序
    a.url.py
        /index/   -> func
    b. views.py
        def func(request):
            #包含所有的请求数据
            ... 业务处理
            本质上返回字符串
            return HttpResponse('字符串')
            return render(request, 'index.html', {'':''})
            return redirect('url') #跳转
    c. 模板语言
        return render(request, "index.html", "{'li':[11, 22, 33]}")

        {% for item in %}
            <h1>{{item}}</h1>
        {% endfor %}

        *********索引**************
        <h2>{{item.0}}<h2>

    GET:
        获取数据
    POST:
        提交数据
    还有其他13种

    上传文件时 要在表单上添加enctype="multipart/form-data"

    class Foo:
        pass
        def __str__(self):
            return '123'
    obj = Foo()
    print(obj)  就会显示123
login.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="/login/" method="post" enctype="multipart/form-data">
    <p>
        <input type="text" name="user" placeholder="用户名">
    </p>
    <p>
        <input type="password" name="pwd" placeholder="密码">
    </p>
    <p>
        男:<input type="radio" name="gender" value="1">
        女:<input type="radio" name="gender" value="2">
    </p>
    <p>
        打篮球<input type="checkbox" name="favor" value="11">
        打兵乓<input type="checkbox" name="favor" value="22">
        踢足球<input type="checkbox" name="favor" value="33">
    </p>

    <p>
        <select name="city" id="" multiple>
            <option value="sh">上海</option>
            <option value="bj">北京</option>
            <option value="tj">天津</option>
        </select>
    </p>
    
    <p>
        <input type="file" name="fafafa">
    </p>
    <input type="submit" value="提交">
</form>

</body>
</html>

猜你喜欢

转载自www.cnblogs.com/Liang-jc/p/9170696.html
今日推荐