虚拟环境与Django版本区别

虚拟环境与Django版本区别

虚拟环境

虚拟环境作用:

  • 当你没创建一个虚拟环境就类似于重新下载了一个纯净的python解释器

    注 : 虚拟环境不要创建太多,会消耗硬盘空间

扩展:

  • 开发中我们会给每一个项目配备一个requirements.txt文件,里面书写了该项目所有的模块和版本
  • 只需要你输入 pip install (-r) requirements.txt 命令即可安装文件内所有模块
  • 生成 requirements.txt 文件命令 : pip freeze > requirements.txt

pycharm创建虚拟环境

  • 点击红框所选内容即可

在这里插入图片描述

在这里插入图片描述

Django版本区别

  1. Django 1.x 中路由层使用的是url方法,而在Django2.x 和 3.x 版本中路由层使用的是path方法

    url() 第一个参数支持正则

    path() 第一个参数不支持正则 写什么就匹配什么

当然也有相应的方法使用正则:

# 推荐使用re_path  
from django.urls import path, re_path  
from django.conf.urls import url

	re_path(r'^index/',index)
    url(r'^login/',login)2.x 和 3.x 里面的re_path就等价于1.x里面的url    
  1. 虽然path不支持正则 但是它内部支持五种转换器
# 将第二个路由里面的内容先转成整型然后以关键字的形式传递给后面的视图函数
path('index/<int:id>/',index)

str : 匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式
int : 匹配正整数,包含0。
slug : 匹配字母、数字以及横杠、下划线组成的字符串。
uuid : 匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
path : 匹配任何非空字符串,包含了路径分隔符(/)(不能用?)
  1. 除了有默认的五个转换器之外 还支持自定义转换器(了解)
1. app下新建一个.py文件写入
class MonthConverter:	
    regex='\d{2}' # 属性名必须为regex
    def to_python(self, value):
        return int(value)
    
    def to_url(self, value):
        return value # 匹配的regex是两个数字,返回的结果也必须是两个数字
    
2. urls.py 中    
    from django.urls import path,register_converter
    from app01.path_converts import MonthConverter  
    
    # 先注册转换器
	register_converter(MonthConverter,'mon')
    
	from app01 import views
    urlpatterns = [
    path('articles/<int:year>/<mon:month>/<slug:other>/', 	views.article_detail, name='aaa'),
        ]

3. views.py中的视图函数
	from django.shortcuts import render,HttpResponse,reverse
	
    def article_detail(request,year,month,other):
        print(year,type(year))
        print(month,type(month))
        print(other,type(other))
        print(reverse('xxx',args=(1988,12,'hello'))) # 反向解析结果/articles/1988/12/hello/
        return HttpResponse('xxxx')
  1. 模型层里面1.x 外键默认都是级联更新删除的,但是在2.x和3.x中需要自己手动配置参数
models.ForeignKey(to='Publish',on_delete=models.CASCADE,on_update=models.VASCADE)

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

go&Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值