设计url 通过分发的方式 Xadmin_demo

Posted liang-jc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计url 通过分发的方式 Xadmin_demo相关的知识,希望对你有一定的参考价值。

urlpatterns = [
url(r‘^Xadmin/‘,([
          url(r‘^add/$‘, views.add)
          url(r‘^delete/$‘, views.delete)
          ], None,None)),
这样就完成了一级分发

然后进行自行设计url
需求 3张表,增删改查, 12个url

127.0.0.1:8000/Xadmin/app01/add/
127.0.0.1:8000/Xadmin/app01/delete/


在urls.py编辑

def list_view(request):
return HttpResponse(‘userindex‘)
def add_view(request):
return HttpResponse(‘user_add‘)
def change_view(request, id):
return HttpResponse(‘user_change‘)
def delete_view(request, id):
return HttpResponse(‘user_delete‘)

def has_urls():
temp = []
temp.append(url(r‘^$‘,list_view))
temp.append(url(r‘^add/$‘,add_view))
temp.append(url(r‘^(d+)/change/$‘,change_view))
temp.append(url(r‘^(d+)/delete/$‘,delete_view))
print(temp)
return temp
def get_urls():
print(admin.site._registry)
temp = []
for model,admin_class_obj in admin.site._registry.items():
app_name = model._meta.app_label
model_name = model._meta.model_name
print(app_name,model_name)
temp.append(url(r‘^{0}/{1}/‘.format(app_name,model_name),(has_urls(), None,None)),)
return temp
urlpatterns = [
path(‘admin/‘, admin.site.urls),
url(r‘^Xadmin/‘,(get_urls(), None,None)),]

settings.py
设置
INSTALLED_APPS = [
‘app01.apps.App01Config‘,

‘app02.apps.App02Config‘,
]

app01项目下的admin.py
from django.contrib import admin
from app01 import models
# Register your models here.
admin.site.register(models.Book)
admin.site.register(models.Publish)

app01项目下的models.py


app02项目下的admin.py
from django.contrib import admin
from app02 import models
# Register your models here.
admin.site.register(models.Order)

app01项目下的models.py
from django.db import models
class Order(models.Model):
title = models.CharField(max_length=32)
def __str__(self):
return self.title








































































以上是关于设计url 通过分发的方式 Xadmin_demo的主要内容,如果未能解决你的问题,请参考以下文章

Django的URL分发器文档翻译

stark 组件 url 二级分发的实现

二 Django框架,urls.py模块,views.py模块,路由映射与路由分发以及逻辑处理——url控制器

应用架构设计之学习路线

Django(十四)课程机构列表页数据展示,Django的modelform,关于urls的重新分发

使用动态 url 暂停和恢复从 CDN(内容分发网络)下载大文件