Django 1.11.9 实现路由分发

创建项目firstPro,两个应用app01、app02,应用创建之后注意检查setting.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',  # 也可以写成'app01'
    'app02'
]

项目结构:

firstPro\urls.py:

from django.conf.urls import url, include
from django.contrib import admin
from app01 import views

urlpatterns = [
    # url(r'^admin/', admin.site.urls),
    url(r'^$', views.base),  # 项目首页
    # 配置路由分发
    url(r'^app01/', include('app01.urls')),
    url(r'^app02/', include('app02.urls')),
]

app01\urls.py:

from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [
    # url(r'^admin/', admin.site.urls),
    url(r'^$', views.app01base),
    url(r'index/', views.index)

]

app01\views.py:

from django.shortcuts import render, HttpResponse

# Create your views here.
def base(request):
    return render(request, 'base.html')

def app01base(request):
    return render(request, 'app01base.html')

def index(request):
    return HttpResponse('app01 index')

app02\urls.py:

from django.conf.urls import url
from django.contrib import admin
from app02 import views
urlpatterns = [
    # url(r'^admin/', admin.site.urls),
    url(r'^$', views.app02base),
    url(r'home/', views.home)

]

app02\views.py:

from django.shortcuts import render, HttpResponse

# Create your views here.

def app02base(request):
    return render(request, 'app02base.html')

def home(request):
    return HttpResponse('app02 home')

base.html:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>Bootstrap 101 Template</title>
</head>
<body>
<h1>项目的首页</h1>
<ul>
    <li><a href="/">项目首页</a></li>
    <li><a href="/app01/">app01首页</a></li>
    <li><a href="/app01/index/">app01 index</a></li>
    <li><a href="/app02/">app02首页</a></li>
    <li><a href="/app02/home">app02 home</a></li>
</ul>
</body>
</html>

app01base.html:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>Bootstrap 101 Template</title>
</head>
<body>
<h1>app01的首页</h1>
</body>
</html>

app02base.html:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>Bootstrap 101 Template</title>
</head>
<body>
<h1>app02的首页</h1>
</body>
</html>

结果:

posted @ 2020-08-01 16:11  养了只猪  阅读(189)  评论(0编辑  收藏  举报