美文网首页
Django路由系统

Django路由系统

作者: 干掉楼上 | 来源:发表于2020-11-12 15:10 被阅读0次

路由系统

获取url上的参数

def news_view(request):
    print(request.GET)
    print(request.GET.get('data'))
    print(request.GET.get('wd'))
    return HttpResponse('news')

路径参数(简书)

路径参数的使用

path("<int:u_id>", views.index)

自定义路径参数

新建文件converter.py

class FourDigitYearConverter:
    regex = r'[0-9]{4}'

    def to_python(self, value):
        return int(value)

    def to_url(self, value):
        return str(value)

#  在 urls中使用
from django.urls import register_converter
from . import converter

register_converter(converter.FourDigitYearConverter, 'year')

app_name = 'news'
# 这是新闻模块的路由
urlpatterns = [
    path('<year:year_d>/', views.detail_y)

re_path

# 给路径命名 固定写法
re_path(r'(?P<year>[0-9]{4})', views.images_view)


def images_view(request, year):
    return HttpResponse(year)

渲染模板

def images_view(request, year):
    # 浏览器可以正常渲染
    return HttpResponse(f"<h1>{year}</h1>")

配置模板文件路径

在settings.py中配置

'DIRS': [os.path.join(BASE_DIR, 'templates')],

在template目录中添加模板文件

在render中使用模板文件

return render(request, 'login.html')

获取请求方法

print(request.method)

(redirect)重定向

return redirect('/index/')

render传参(模板语言)

return render(request, 'login.html', context={'tips': '用户名或密码错误'})

在html中{{ tips }}

命名空间

url反转(reverse)

# urls.py
path('', views.index, name='index'),
# views.pu
return redirect(reverse('index'))

app的命名空间(app_name)

多个app中存在相同的url名字

在子路由中配置app_name

静态文件引入

创建一个static用于存放css、js、图片等文件的目录

# 配置静态文件目录
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

在模板中引入静态文件

在html中

<link rel="stylesheet" href="/static/css/style.css">

第二种方法,通过模板语言引入css样式表

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Title</title>
    <link rel="stylesheet" href={% static 'css/style.css' %}>
</head>

相关文章

  • 4.Django路由系统

    Django路由系统 URL调度器Django 允许自由地设计你的URL,不受框架束缚。Django认为,对于高质...

  • Django路由系统

    python django官方文档地址:https://docs.djangoproject.com/zh-han...

  • Django路由系统

    1.url是全球统一资源定位符 2.django的路由系统当一个请求来到时1.首先到项目目录下的urls.py (...

  • Django路由系统

    路由系统 获取url上的参数 路径参数(简书) 路径参数的使用 自定义路径参数 re_path 渲染模板 配置模板...

  • Django中app分组

    django中app分组 一.django路由系统app进行分组 1.创建app 使用pycharm创建djang...

  • rest_framework 路由器

    rest_framework的路由器是为django的路由系统服务的,不使用rest_framework的路由器我...

  • Django的路由系统

    官方文档:URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图...

  • Django框架路由系统

    路由系统(controller) 路由系统(URL配置)它就是URL与要为该URL调用的视图函数之间的映射表,也就...

  • Django的路由系统

    基本格式 分组命名匹配 在Python的正则表达式中,分组命名正则表达式组的语法是(?Ppattern...

  • Django drf 路由系统

    路由系统 路由系统可以自动完成增删改查,如果只是增删就不太需要引用

网友评论

      本文标题:Django路由系统

      本文链接:https://www.haomeiwen.com/subject/wzlpbktx.html