Python DjangoURL与视图(1) 笔记

Django

学前准备

1、确保已经安装Python 3.6以上的版本
2、安装虚拟环境-pipenv
3.安装pycharm专业版或者社区版
4、下载PHPstudy,安装MySQL5.7版本
5、安装Django2.2版本

Django框架介绍

Django框架与传统框架对比:

\传统框架(MVC)Django框架(MVT)
模型modelmodel
控制器controllerview
视图viewtemplate

Django项目的创建

·pycharm
·django-admin startproject[项目名称]

Django 项目运行

·python manage.py runserver
·在pycharm中设置

Django 创建APP

·python manage.py startapp [app名字]

DEBUG模式

在settings.py 中关闭
设置
debug=False

关闭之后需要设置的
ALLOWED_HOSTS=[‘127.0.0.1’]

URL与视图

在view视图中填写视图函数:
在这里插入图片描述

在urls文件中做映射:
在这里插入图片描述
运行项目,访问http://127.0.0.1:8000/book/即可看的结果

URL传递参数

1、以/传参
添加视图函数
在这里插入图片描述
填写路由匹配
在这里插入图片描述
访问指定路径传参
在这里插入图片描述

2、以关键字参数传参

视图函数
在这里插入图片描述
url路径
在这里插入图片描述
效果
在这里插入图片描述

URL模块化

URL中包含另外一个urls模块:
在项目中,不可能只有一个app,如果把所有的app的views中的视图都放在urls.py中进行映射,肯定会让代码显得非常乱,因此django给我们提供了一个方法,可以在app内部包含自己的url匹配规则,而在项目的urls.py中再统一包含这个app的urls。使用这个技术需要借助include函数。

在urls.py文件中:
在这里插入图片描述
在urls.py文件中把所有的和book这个app相关的url都移动到app/urls.py中了,在project/urls.py中,通过include函数包含book.urls,以后在请求book相关的urls的时候都需要加一个book的前缀。
例:
在app内部新建一个urls文件

在这里插入图片描述
在project/urls中用include函数引用,就可以把app内部的url拼接到project的url里面
在这里插入图片描述
访问路径时必须在前面加上路径,才能访问到指定app的url下面
在这里插入图片描述
内置转换器,加int,str等参数进行类型匹配,只有符合条件的才能正常使用,否则报错

路由重定向:redirect

url命名与反转

1.为什么需要URl命名
因为在项目开发的过程中URl地址可能经常变动,如果写死会经常去修改
2、如何给一个URL指定名称
path(’’,views.index,name=‘index’)
3、应用命名空间
在多个app之间可能产生多个URL映射同一个App,在做反转的时候,如果使用命名空间,就会发生混淆,为了避免这个问题,可以使用实例命名空间,实例命名空间使用,namespace=‘实例命名空间’
在这里插入图片描述
用 redirect(reverse(‘实例命名空间’)),这样在只需更改urls中的路由地址即可,不需要所有的url都要更改

redirect(reverse(‘应用命名空间:实例命名空间’))

用于区分各app之间的url路径

url反转传递参数

1、关键字传参
如果这个url中需要传递参数,那么可以通过kwargs来传递参数。

redirect(reverse(‘应用命名空间:实例命名空间’,kwargs={‘参数’:参数名}))

2、字符串拼接方式

redirect(reverse(‘应用命名空间:实例命名空间’)+’?参数名’)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值