Django基础之urls
2021-05-20 07:27
标签:方法 pat 正则表达 正则 word set 数据库数据 erp 简介 一 Django简介 二 视图层之应用系统 一 Django简介 Django: Django基本命令 manage.py 启动文件,控制项目命令
二 视图层之应用系统 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码 ‘‘‘ 一个正则表达式字符串 ‘‘‘ 简单配置 注: 2.1.2有名分组 上面的示例使用简单的、没有命名的正则表达式组(通过圆括号)来捕获URL中的值并以位置 参数传递给视图。在更高级的用法中,可以使用命名的正则表达式组来捕获URL 中的值并以关键字 参数传递给视图。 在Python 正则表达式中,命名正则表达式组的语法是 分组和没有分组的区别就像是:函数传参的区别(位置参数和关键字传参)。分组是按关键字传参数。 2.1.3 URLconf在什么上查找 URLconf在请求的URL上查找,将它当做一个普通的Python字符串。不包括GET和POST参数以及域名。 例如,http://www.example.com/myapp/ 请求中,URLconf 将查找 在http://www.example.com/myapp/?page=3 请求中,URLconf 仍将查找 URLconf 不检查请求的方法。换句话讲,所有的请求方法 —— 同一个URL的 2.1.4 捕获的参数永远是字符串 每个捕获的参数都作为一个普通的Python 字符串传递给视图,无论正则表达式使用的是什么匹配方式。例如,下面这行URLconf 中: views.year_archive() 的 2.1.5 指定视图参数的默认值 有一个方便的小技巧是指定视图参数的默认值。 下面是一个URLconf 和视图的示例: 在上面的例子中,两个URL模式指向同一个视图 2.1.5 Including other URLconfs 注:form表单get/put方法来回切换需要注销掉下面的一行 今日课上代码 Django基础之urls 标签:方法 pat 正则表达 正则 word set 数据库数据 erp 简介 原文地址:http://www.cnblogs.com/1a2a/p/7701254.html
urls:路径与视图函数的映射关系
views:逻辑处理
models:与数据库相关的操作
template:模板语法:将变量(数据库数据巧妙嵌入到HTML页面中)
创建项目的流程:
1.pip3 install django
2.创建django
-
admin.py startproject mysite
(项目名)
mysite:全局文件
3.python manage.py startapp blog (应用名)
4.启动Django项目
python manage.py runserver ip port
urlpatterns = [
url(正则表达式, views视图函数,参数,别名),
]
参数说明:
一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
可选的要传递给视图函数的默认参数(字典形式)
一个可选的name参数from django.conf.urls import url
from . import views
urlpatterns = [
url(r‘^articles/2003/$‘, views.special_case_2003),
url(r‘^articles/([0-9]{4})/$‘, views.year_archive),
url(r‘^articles/([0-9]{4})/([0-9]{2})/$‘, views.month_archive),
url(r‘^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$‘, views.article_detail),
]
NOTE:
1 一旦匹配成功则不再继续
2 若要从URL 中捕获一个值,只需要在它周围放置一对圆括号。(分组)
3 不需要添加一个前导的反斜杠,因为每个URL 都有。例如,应该是^articles 而不是 ^/articles。
4 每个正则表达式前面的‘r‘ 是可选的但是建议加上。
(?P
,其中name
是组的名称,pattern
是要匹配的模式。from django.conf.urls import url
from . import views
urlpatterns = [
url(r‘^articles/2003/$‘, views.special_case_2003),
url(r‘^articles/(?P
myapp/
。myapp/
。POST
、GET
、HEAD
等等 —— 都将路由到相同的函数url(r‘^articles/(?P
year
参数将是一个字符串# URLconf
from django.conf.urls import url
from . import views
urlpatterns = [
url(r‘^blog/$‘, views.page),
url(r‘^blog/page(?P
views.page
—— 但是第一个模式不会从URL 中捕获任何值。如果第一个模式匹配,page()
函数将使用num
参数的默认值"1"。如果第二个模式匹配,page()
将使用正则表达式捕获的num
值。#At any point, your urlpatterns can “include” other URLconf modules. This
#essentially “roots” a set of URLs below other ones.
#For example, here’s an excerpt of the URLconf for the Django website itself.
#It includes a number of other URLconfs:
from django.conf.urls import include, url
urlpatterns = [
url(r‘^admin/‘, admin.site.urls),
url(r‘^blog/‘, include(‘blog.urls‘)),
]