Python的web框架Django(2):url()的使用、单例模式、Model继承、MEDIA配置

本文介绍了Django框架中的URL配置方法、Model继承方式及媒体文件配置,并探讨了Python中的单例模式实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. url()的使用

情况1:

re_path(r"^book/", views.book)

情况2:

url(r"^levelA/", ([
    url(r"^levelB1/", ([
        url(r"^levelC1/", levelC1),  
        url(r"^levelC2/", levelC2),  
    ], None, None)),
    url(r"^levelB2/", levelB2),
    url(r"^levelB3/", levelB3),
], None, None))

 

 

 

2. 单例模式(Singleton Pattern)

单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在

在 Python 中,我们可以用多种方法来实现单例模式:

使用 __new__

class Singleton(object):
    _instance = None
    def __new__(cls, *args, **kwargs):
        if not cls._instance:
            cls._instance = super(Singleton, cls).__new__(cls, *args, **kwargs)
        return cls._instance

class MyClass(Singleton):
    a = 1

在上面的代码中,我们将类的实例和一个类变量 _instance 关联起来,如果 cls._instance 为 None 则创建实例,否则直接返回 cls._instance

 

 

3. Django的Model继承

from django.db import models

class UserInfo(models.Model):
    nation = models.CharField(max_length=32)
    
    class Meta:
        abstract = True # 设置这个属性为True时,Django不会在数据库中创建这个表,而是当作需要被继承的model

class UserInfoA(UserInfo):
    tt = models.CharField(max_length=32)

 

 

4. Django的MEDIA配置

在settings.py文件中进行配置:

STATIC_URL = '/static/'

# Media配置
MEDIA_URL = "media/"
MEDIA_ROOT = os.path.join(BASE_DIR, "media")

在项目urls.py文件中进行配置

from django.conf.urls import url, include
from django.contrib import admin
from django.views.static import serve
from xxx import settings

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^api/course/', include("Course.urls")),
    url(r'media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT})
]

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值