4域名反向解析及静态页面的配置和加载

url反向解析:

url可能出现的位置:

1< a href='url'>< / a>

2< form action = 'url' mrthod='post' >

3HttpResponseRedirect('url')

4前端在使用相对url地址时记得一定要在地址前面加上斜杠,否则找不到路由会报404错误

5url反向解析其实就是在path函数里给路由起一个别名path(route,views,name="别名")

6模板中使用url别名的方法就叫域名反向解析{ % url '别名' '参数1' ‘参数2’% }

示例1:在模板中如何识别别名

URL中配置别名并且路由接收参数:

path('test_url_result/<int:age>', views.test_view, name='tr')

模板中使用别名并给别名传参:

<a href="{% url 'tr' '100'%}">url反向解析</a>

 

示例2:在视图中如何使用别名

在视图函数中可调用django中的reverse方法进行反向解析,例如reverse('别名', args=[], kwargs={})

from django.urls import reverse
print(reverse('pagen', args=[300]))
print(reverse('person',kwargs={'name':'zhangsan', 'age':18}))

 

练习302跳转:

#url:

path('base_index',views.base_view,name='base_index'),
path('test_url_302tiaozhuan',views.test_url_302tiaozhuan),

#views: def test_url_302tiaozhuan(request): from django.urls import reverse url = reverse('base_index') return HttpResponseRedirect(url)
#访问: http://127.0.0.1:8000/test_url_302tiaozhuan

 

 --------------------------------------------------------------

静态文件的配置和加载

1加载静态文件{% load static %}

2使用静态资源{% static '静态文件路径'%},例如<image src={%static 'images/1.jpg'%}>

练习:

1静态文件需要在settings里进行如下两项配置:

settings:

STATIC_URL = '/static/' #告诉django这个文件夹时静态文件,默认创建django时已经配置好
STATICFILES_DIRS = (os.path.join(BASE_DIR,'STATIC'),) #指定静态文件的目录,需要自己配

2在项目同目录下创建static文件夹并创建子文件夹,然后在项目app中创建视图文件,如下:

mysite3
    mysite3
    __init__.py
    asgi.py
    settings.py
    urls.py
    views.py
    wsgi.py
static
    image
    js
templates

3创建视图函数

from django.shortcuts import render

def test_static(request):
    return render(request,'test_static.html')

4创建模板文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试静态文件</title>
</head>
<body>
<img src="/static/image/1.jpg" width="200px" height="200px">
{% load static %}
<img src="{% static 'image/2.jpg' %}">
</body>
</html>

5配置路由并访问测试:http://127.0.0.1:8000/test_static

from . import views
urlpatterns = [
    path('test_static',views.test_static),
]

 

上一篇:Django 学习1--入门


下一篇:Django学习笔记九---初探路由urls--002篇--路由变量的设置