django学习创建应用

创建应用

项目和应用的区别

简单的理解,项目可以理解为一个网站,应用是网站上的一个模块,比如阅读模块,电影模块,美食模块等

创建应用

1、在项目根目录运行

python manage.py startapp crm

创建视图函数

1、找到创建的应用crm–>views.py

from django.http.response import HttpResponse

def index(request):
	return HttpResponse("这是首页面")

2、创建子路由
在创建的crm应用中创建一个urls.py文件,与views.py文件同级

from django.urls import path
from . import views
# urlpatterns 该变量名约定俗称,不能更改
urlpatterns = [
    path('index/', views.index)
]

path()函数
path(route,view,kwargs=None,name=None)
path: 函数返回一个对象,表示一个路由规则
route: 一个字符串,表示url规则
view: 一个视图
kwargs: 一个字典,需要传入额外的参数
name: url的命名
一般使用route,view和name,kwargs用很少
3、创建跟路由
在项目根目录找到urls.py文件中添加
path(‘crm/’, include(‘crm.urls’))

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('crm/', include('crm.urls'))
]

include()
include(module,namespace=None)
一般namespace不使用
4、访问创建的视图函数
http://127.0.0.1:8000/crm/index/

5、url路径参数
想要将url地址中的参数传递给视图函数,如希望将地址http://127.0.0.1:8000/crm/students/2022/1/中的/2022/1/传递给students视图函数
方法:在子路由配置中添加一个参数,且与视图 函数中的参数一致

子路由配置

urlpatterns = [
	path('students/<year>/<month>/', views.students)
]

视图函数配置

from django.http.response import HttpResponse

def students(request,year,month):
	return HttpResponse(f"{year}{month}月学生信息")

6、路径转换器
使用方式:“<转换器:参数名>”

urlpatterns = [
	path('students/<int:year>/<int:month>/', views.students)
]

转换器在默认情况下是可用的:
str: 匹配除了路径分隔符/之外的任何非空字符串。如果表达式中表达式不包含转换器,默认为字符串转换器。
int: 匹配0或任何整数。返回一个整数类型
slug:匹配任何由ASCII字符或数字组成的slug字符串,加上连字符和下划线。
uuid: 匹配格式化的UUID。为了防止多个url映射到同一个页面,必须包含破折号并且必须是小写字母。
path: 匹配任何非空字符串,包括路径分隔符/。这允许匹配完整的URL路径,而不是像str那样仅匹配url路径部分

7、re_path()
re_path(route,view,kwargs=None,name=None)
route: 一个字符串,表示一个url规则
view: 一个视图
kwargs: 一个字典,需要传入的额外参数
name: url命名
与path()不同的是,route部分包含正则表达式。
正则表达式分为命名的和匿名的

匿名表达式

urlpatterns = [
	re_path('students/(\d{4})/(0[1-9]|[1-9]|1[0-2])/', views.students)
]

命名表达式

urlpatterns = [
	re_path('students/(?P<year>\d{4})/(?P<month>0[1-9]|[1-9]|1[0-2])/', views.students)
]

注:re_path不会做类型转换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值