慕课网-Django入门到进阶-更适合Python小白的系统课程-第2章Django中的路由与视图-2-1路由视图基本使用与关联

第2章 Django中的路由与视图

2-1 路由视图基本使用与关联

路由器

简单的说,url 就是常说的网址,每个网址代表不同的网页

在 django 中 url 也称为 urlconf

每个url地址对应一个唯一的views视图函数

哪里存在路由?

根目录项目中的 urls.py 是根路由,根路由可以集合所有应用路由

每个应用下创建自己的 urls.py,这个 urls.py 属于每个应用的独有路由,通过集成或者说绑定到根路由中进行使用

路由常用方法,变量与 views 的绑定

#导入 url 编写模块
from django.urls import path, include
 
#导入 admin 功能模块
from django.contrib import admin
 
#urlpatterns:整个项目的 url 的集合,每个元素代表一条 url 信息

#设置 admin 的
#url,'admin/' 代表 uri 地址,即 http://127.0.0.1:8000/admin/
#admin 后面的斜杠为路径的分隔符,admin.site.urls 是 url 对应的视图函数
path('admin/', admin.site.urls)

#第一种写法
#如果 url 为空即代表为网站的域名,即 127.0.0.1:8000,通常为网站的首页
#include 的是将应用中的 urls 包含进来
path('', include('app.urls'))

#第二种写法
from app import urls as app_urls
path('', include(app_urls))

#扩展知识:网址分两部分,domain 域名与 uri 按照上边的地址分别是 127.0.0.1:8000 和 admin

视图

views 是 django 的 mvt 中的 v 部分,主要负责处理用户的请求和生成相应内容,然后在页面或其它类型文档中显示

视图中的基本写法

from django.http import HttpResponse

def index(request):
    return HttpResponse('hello django!')

 

实例

1.进入虚拟环境

cd python3_env
cd Scripts
activate

2.创建项目

cd django
django-admin createproject two

3.创建应用

cd two
python manage.py startapp app

4.进入项目下目录 two,修改文件 views.py,添加一个 index 方法

#coding:utf-8
from django.http import HttpResponse

def index(request):
    return HttpResponse('hello, django2!')

5.进入项目下目录 app,添加文件 urls.py,添加应用的路由

#coding:utf-8
from django.conf.urls import url
from .views import index

urlpatterns = {
    url('', index)
}

6.进入项目下目录 two,修改文件 urls.py,添加 app 应用的路由

from django.contrib import admin
from django.urls import path, include
from app import urls as app_urls

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

7.进入项目下目录 two,修改文件 settings.py,添加 app 应用

#修改文件第40行,添加 app 应用
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app',
]

9.运行代码

python manage.py runserver 127.0.0.1:8000

8.看测试效果

posted on 2020-01-08 09:25  herisson_pan  阅读(19)  评论(0)    收藏  举报

导航