标签:views url 别名 域名 static test path 加载 页面
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), ]
标签:views,url,别名,域名,static,test,path,加载,页面 来源: https://www.cnblogs.com/tyjs09/p/15607327.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。