Python3 Django的View详解
本文由 Luzhuo 编写,转发请保留该信息.
原文: http://blog.csdn.net/Rozol/article/details/79526328
以下代码以Python3.6.1为例
Less is more!
Python 3.6.1
Django 2.0.2
项目名: Django_view 应用名: booktest
URLconf
路径配置URL
- 根路径寻找:
manage.py
的__main__
->Django_view.settings
->settings.py
的ROOT_URLCONF = 'Django_view.urls'
->urls.py
里配置就是根路径 - 在应用下创建
urls.py
用于存放该应用的相关路径- 在项目的
urls.py
文件中的urlpatterns
列表中添加path('booktest/', include('booktest.urls'))
, 这样该应用相关的url都交给该应用的urls.py
匹配
- 在项目的
- 重复开发步骤
- 编写views.py
def index(request): pass
- 应用的
urls.py
的urlpatterns
添加路径path('', views.index),
- 编写views.py
- 启动服务器
python manage.py runserver 80
Path路径匹配
from django.urls import path, register_converter, re_path
from . import views, converters
# 注册自定义转换器
register_converter(converters.NumberConverter, 'mt')
'''
<>用于从url中捕获数据
路径转换器
--- 默认 ---
str: 字符串
int: int数字
slug: ASCII字母+数字+连字符+下划线组成的字符串, 例如: a-b-c1-d
uuid: UUID(必须包含-, 字母小写), 例如: 123a-213b-22d2f
path: 匹配任何非空字符串(含'/')
--- 自定义 ---
converters编写转换器 -> register_converter注册 -> 使用<converter:name>
--- 正则 ---
使用re_path匹配, 语法: ?P<name>pattern
反转解析URL
1. 给 path 添加名字 path('', views.index, name='index')
2. 使用 reverse('year', args=(year,)) 反转解析
'''
urlpatterns = [
path('', views.index, name='index'), # 严格匹配
path('<int:question_id>', views.detail, name='detail'), # <int:question_id> 获取数字
path('times/<int:year>/<int:month>/', views.times, name='times'), # name参数用于反转解析
path('mon/<mt:month>', views.mon, name="mon")