慕课网-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) 收藏 举报
浙公网安备 33010602011771号