Django从零开始

此文仅用于记录学习过程

  1. django的安装
    系统:ubuntu 安装命令:sudo pip3 install Django -i https://pypi.tuna.tsinghua.edu.cn/simple

  2. 创建新项目
    django-admin.py startproject my_site
    .
    ├── manage.py #管理程序文件
    └── my_site
    ├── asgi.py
    ├── init.py
    ├── settings.py #程序的配置文件
    ├── urls.py #路由
    └── wsgi.py

  3. 创建app
    django-admin.py startapp app1
    ├── admin.py #数据库后台
    ├── apps.py #django把项目和app关联起来的文件
    ├── init.py
    ├── migrations #数据库相关
    │ └── init.py
    ├── models.py #数据库操作
    ├── tests.py #单元测试
    └── views.py #业务逻辑

  4. 在urls.py编写路由,在iews.py写业务函数

  5. 启动测试项目
    在根目录下,用终端输入

python3 manage.py runserver 0.0.0.0:8000 

启动项目测试,转到浏览器断http://localhost:8000/路径名称 即可访问

  1. 模板引用
    创建html模板目录,和app文件夹同级。然后在setting中的TEMPLATES中的DIRS写进目录地址BASE_DIR / “html”,因为我用的djanhgo版本是3.1.1,所以直接按照这种方式拼接即可,不需要使用os.path.join(BASE_DIR,“html”)
    然后在views.py 中
def test_view(request):
    return render(request,"test.html")

返回的时候用render直接指向html目录下的html文件即可

  1. 静态路由、动态路由
    path converters:str\int\slug\uuid\path
    用法:path('articles/2003/',views.article_2003),

  2. ORM作用
    优点:实现了代码与数据操作的解耦、无需写原生sql语句,提高开发效率、防止sql注入
    缺点:牺牲性能、复杂语句较难实现

 ORM映射字段类型:
 autofield
 BigAutoField
 BinaryField
 Booleanfild
 Charfield
 DateField  #2020-09-21
 DateTimeField  #2020-09-21 10:52:00
 DecimalField  #设置精度的十进制数  models.DecimalField( max_digits=3, decimal_places=2,...)
 DurationField
 EmailField
 FileField #储存文件
 FloatField
 ImageField
 IntegerField
 GenericIPAddressField #ip地址,支持ipv4、6
 NullBooleanField #比BooleanField多支持了NULL
 PositiveIntegerField    #正整数 0~2147483647
 PositiveSmallIntegerField  #短正整数 0~32767
 SlugField  #label
 SmallIntegerField
 TextField
 TimeField
 URLField
 UUIDField
  1. 表结构设计:
    在models.py文件中进行表结构的设计
    on_delete:决定关联对象删除时,如何处理当前记录
    CASCADE:关联删除
    PROTECT:名下有东西时无法删除
    SET_NULL:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值