django学习笔记3

本文概述了Django中URL配置、urls.py的作用、主要的视图函数如HttpResponse、render和redirect,以及静态文件的管理,包括static文件夹创建、配置、引用和动态解析。还介绍了path函数和form表单的基本用法。
摘要由CSDN通过智能技术生成

django听课笔记3


django听课笔记31.url解释2.django的urls.py解释3.重要的3个视图函数4.static文件夹1.新建static文件夹2.配置静态文件夹路径3.引用静态文件4.令牌动态解析5.path函数6.form表单

1.url解释

url:统一资源定位符 互联网上每个文件都有一个唯一的ul,它包含的 信息指出文件的位置以及浏览器应该怎么处理 它 语法:

protocol://hostname[:port]/path[?query]

protocol::协议 hostname:主机 port:端口号 path:路由地址,由零个或多个"隔开的字符串, 一般用来表示主机上的一个目录或者文件地址 query:查询,可选,用于给动态网页传递参数,可以 有多个参数,用”&”隔开,每个参数的名和值用”=” 符号隔开

2.django的urls.py解释

端口号可以更改,默认8000

image-20230805151037836


注意可能需要更改:PYTHONUNBUFFERED=1:DJANGO _SETTINGS_MODULE=mysite1.settings

本机缺失:DJANGO _SETTINGS_MODULE=mysite1.settings

django如何处理一个url对应的请求 http://127.0.0.1:8000/page/2023 1.django从配置文件中根据root_urlconf找到主 路由文件(url.py(默认情况下该文件在项目同名 目录下的urs) 2.django加载主路由文件中的urlpatterns变量 3.依次匹配urlpatterns中的url,匹配到第一个合 适的中断后续的匹配 4.匹配成功->调用对应的视图函数处理请求,返 回响应 5.匹配失败->返回404响应

项目同名文件夹下的urls.py存放一个列表套元组的东西,路由分发

image-20230805153438746

3.重要的3个视图函数

views.py中的三个重要的方法 HttpResponse():返回字符串类型的数据 render():返回html文件 redirect():重定向

from django.shortcuts import render,HttpResponse,redirect
#request:请求
def index(request):
    #内部传递一个字符串参数,返回给刘览器
    #return HttpResponse('hello')
    name = 'wuluo'
    age = 18
    return render(request,'index.html',locals())
    #locāls():将当前函数内部所有的变量以键值对的形式传递给html页面
    #除了request参数之外还接了一个待谊染模板文件和一个字典
    return redirect('http://www.baidu.com/')

HttpResponse(字符串)

render(request,html文件,字典)

4.static文件夹

1.新建static文件夹

在大文件夹中新建static文件夹,并将js,css,images等静态文件粘贴进来

2.配置静态文件夹路径

settings中配置static路径,并创建令牌

#创建令牌,如果前缀是“令牌名static”则接受访问
STATIC_URL = '/static/'
#静态文件配置,settings.py中
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'static')
    #staic是文件夹名字
]
3.引用静态文件

static路径添加成功后,在images文件中引用路径,直接引用static,注意/static/不能省略,因为static是令牌!

image-20230806145652767

STATIC_URL = '/static/'就是钥匙,只有加了/static/才能访问该文件夹,而views.py访问templates/home.html,不需要加/templates/

image-20230806143812145

<images src ="/static/images/1.1,png" alt="">其中的static是令牌钥匙,而不是static文件夹

4.令牌动态解析

当html页面加入{%load static%}就相当于变成了/令牌/,也就是/static/,这样无论在settings中怎么设置STATIC_URL = '/×××/'都无效了!

image-20230806150930251

5.path函数

path()函数 用于描述路由和视图函数的对应关系 path(route,views,name=None) route:字符串类型,匹配的请求的路径 views:指定路径所对应的视图函数的名称 name:为地址起别名,在模板中地址反向解析时 使用,当route是正则表达式时使用name代替正则

urls.py中

from django.contrib import admin
from django.urls import path
from app01 import views
urlpatterns = [
    path('admin/',admin.site.urls),
    path('index/',views.index),
    path('login/',views.index),
]
​

6.form表单

form标签的action参数是用来提交数据的路由,method="post",不写默认朝进入的路由的request对象提交数据

action参数一般是默认,然后在对应路由加if else的请求分支

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="/static/bootstrap-3.4.1-dist/css/bootstrap.min.css">
</head>
<body>
<h1 class="text-center">登录</h1>
<div class="row">
<div class="col-md-8 col-md-offset-2">
<form action="" method="post">
<p>username:<input type="text" name="username" class="form-control" ></p>
 <p>password:<input type="password" name="password" class="form-control" ></p>
<input type="submit" class="btn btn-success btn-block">
</form>
</div>
</div>
</body>
<script src="/static/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
<script src="/static/js/jquery_3.6.0.js"></script>
</html>

submit会变成post请求,需要注释掉settings.py中的MIDDLEWARE第四行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

javatack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值