django实现动态路由的简单方法

简介: django实现动态路由的简单方法

使用django的时候需要配置路由

需要在url中进行路由配置,很麻烦、

path(‘new/’, include(‘newxichentousystem.urls’)),

关键还有再配置子路由,也很麻烦


这样做的好处

整个项目只需要有一个url.py 文件即可

根据请求名,调用函数

from django.conf.urls import url
from django.contrib import admin
from django.urls import path, include,re_path
from django.views.static import serve
from django10 import settings
from villagemanage import views as views1
from newxichentousystem import views as views2
from dongtailuyou import views as views3
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views1.index, name='index'),
    re_path(r'^dturl/(?P<fucname>[a-zA-Z0-9]+)/$',views3.usefucbyname),
    url(r'^media/(?P<path>.*)', serve, {"document_root":settings.MEDIA_ROOT}),
]


在app.view文件中

放在页面开头就好

def usefucbyname(request,fucname):
    return eval(fucname)(request)


别忘了记得在django.setting 中添加app名称

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'villagemanage',
    'newxichentousystem',
    'dongtailuyou'
]

ajax 携带口令

$.ajaxSetup({

data: {csrfmiddlewaretoken: ‘{{ csrf_token }}’ },

});

常用配置

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-Hans'
# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.2/howto/static-files/
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL="/media/"


相关文章
|
3天前
|
Python SEO
Django入门到放弃之路由
Django入门到放弃之路由
|
16天前
|
存储 Ubuntu 安全
在Ubuntu 16.04上安装Django并搭建开发环境的方法
在Ubuntu 16.04上安装Django并搭建开发环境的方法
10 0
|
24天前
|
Python
[django]路由变量与正则表达式
[django]路由变量与正则表达式
|
3月前
|
安全 API Python
Django 如何使用视图动态输出 CSV 以及 PDF
这一篇我们需要用到 python 的 csv 和 reportLab 库,通过django视图来定义输出我们需要的 csv 或者 pdf 文件。
|
3月前
|
JSON API 网络架构
Django REST framework视图集与路由详解:深入理解ViewSet、ModelViewSet与路由映射器
Django REST framework视图集与路由详解:深入理解ViewSet、ModelViewSet与路由映射器
|
3月前
|
存储 安全 网络协议
Django路由与会话深度探索:静态、动态路由分发,以及Cookie与Session的奥秘
Django路由与会话深度探索:静态、动态路由分发,以及Cookie与Session的奥秘
|
3月前
|
存储 流计算 Python
使用Django构建即时通讯应用的最简单方法
使用Django构建即时通讯应用的最简单方法
|
3月前
|
API 网络架构 Python
在django使用视图集和路由集
【6月更文挑战第11天】本文介绍Viewsets是Django REST框架中将多个视图逻辑整合到单个类的工具,减少了重复代码。当项目API变得复杂且有重复模式时,考虑使用它们;否则,保持视图和URL模式的简洁性。
29 3
|
3月前
|
缓存 JSON API
在django项目中使用装饰器管理路由
【6月更文挑战第12天】本文介绍了Python装饰器在API管理中的应用,包括用于延迟计算、缓存和转换函数的装饰器。实践中,以Django Rest Framework为例,演示了如何使用装饰器定义GET、POST、PUT和DELETE请求的视
33 1
|
3月前
|
API 数据库 网络架构
在django中应用视图和路由集
【6月更文挑战第10天】 本文介绍viewsets`和`Routers`是Django REST framework中用于简化API视图和路由的工具。它们提供了一个抽象层,允许用更少的代码替代多个相关视图,并能自动生成URL。定义`UserList`和`UserDetail`视图集,分别用于列表和详情展示。
21 3