django配置路由,创建子模块

  1. 基于正则表达式的路由

    #urls.py文件
    from django.conf.urls import url
    from . import views
    
    app_name='user'
    urlpatterns = [
    	url(r'^login/', views.login,name='login'),
    	#在路由中传参数
    	url(r'^show/(?P<myid>\w*)', views.show,name='show'),
    ]
    
  2. 路由重定向(同一个模块)

    #views.py文件
    from django.shortcuts import reverse,redirect
    def login():
    	url=reverse('路由的name')
    	#如果要传参数
    	url=reverse('路由的name',kwargs={key:value})
    	return redirect(url)
    
  3. 新建子模块

    pyhton manage.py startapp user
    
  4. 修改配置文件

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'user',
        'position'
    ]
    
  5. 在子模块新建urls.py,在主模块添加子模块的路由

    from django.contrib import admin
    from django.urls import path,include
    from django.conf.urls import url
    from . import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        url(r'^$', views.index,name='index'),   
    	#子模块的路由为user
        path('user/', include('user.urls',namespace='django-user')),
        # path('position/', include('position.urls')),
    ]
    
    #子模块的urls.py
    from django.conf.urls import url
    from . import views
    
    app_name='user'
    urlpatterns = [
        url(r'^login/', views.login,name='login'),
        url(r'^show/(?P<myid>\w*)', views.show,name='show'),
    ]
    
  6. 跨模块的路由跳转

    #reverse('模块名:路由名')
    reverse('user:show',kwargs={'myid':12})
    return redirect(url)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值