django概览

MTV模式

model-template-view(模型-模板-视图)模式,模板是一个文本,用于分离文档的表现形式和内容。MTV 模式本质上与 MVC (Mode-View-Controller)相同,都是让各组件保持低耦合的关系。
MVC模式中:

  • M:模型(Model),数据存取层,负责业务对象和数据库对象。
  • V:视图(View),与用户的交互,负责显示与怎样显示。
  • C:控制器(Controller),接受用户动作,调用模型,输出相应视图。三者像插件一样以松耦合的形式连接在一起。

MTV 具体定义如下:
M:模型(Model),负责业务对象和数据库的关系映射。
T:模板(Template),负责如何把页面展示给用户。
V:视图(View),负责业务逻辑,并在适当时候调用模型和模板。

URL分发器

URL 分发器的作用是将页面请求分发给不同的视图(View)处理,视图再调用相应的模型(Model)和模板(Template)。

初始设置

修改配置文件

settings.py 文件中修改配置,

  • 修改允许访问的 IP 地址
ALLOWED_HOSTS=['*'] #增加一个匹配任意主机地址的字符串
  • 修改数据库配置项
    用mysql数据库替代默认的sqlite数据库。
DATABASES = {
   
   
    'default': {
   
   
        'ENGINE': 'django.db.backends.mysql',   # 引擎由 Django 提供
        'NAME': 'myproject',                    # 数据库的名字
        'USER': 'root',                         # 用户默认为 root
        'PASSWORD': '',                         # 没有设置密码
        'HOST': '127.0.0.1',                    # 本地连接,固定 IP
        'PORT': 3306                            # 固定端口号
    }
}
  • 模板文件路径设置
    浏览器发送请求给服务器,服务器派遣对应的视图类处理请求,需要模板文件提供支持返回响应,模板相关的设置在TEMPLATES列表下,该列表中默认有一个字典对象,其中DIRS字段的值是列表,该值对应模板文件的相对路径
TEMPLATES = [
    {
   
   
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['myproject/templates'], #在此修改模板文件的相对路径
        'APP_DIRS': True,
        'OPTIONS': {
   
   
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
  • 静态文件路径设置
    模板文件需要调用静态资源进行渲染,静态资源的配置项为STATICFILES_DIRS,
    它是一个列表,里面要写入静态资源的路径。该配置项不会自动生成,需要新建:
STATICFILES_DIRS = ['myproject/static']

创建应用

进入myproject文件夹下输入命令:

$ python3 manage.py startapp [appname]

再次编辑 myproject/settings.py 文件,修改INSTALLED_APPS元组,该配置项用于注册应用,将 ‘appname’ 字符串写入其中:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'share',
]

初始化数据库

先设置mysql数据库:…未完待续

针对每个 Django 项目,都有一些项目必需的数据表,执行如下命令创建它们的迁移文件并在 myproject 数据库中创建它们:

$ python3 manage.py makemigrations
$ python3 manage.py migrate

启动项目

在启动项目前先检查项目是否有疏漏,no issues则说明项目可以正常启动:

$ python3 manage.py check

启动项目使用runserver选项,后面的参数为主机地址:端口号,我们使用 0:8080 表示任意 IP 地址的 8080 端口启动程序:

$ python3 manage.py runserver 0:8080

文件上传和分享功能

实现视图功能

Django 提供了很多视图基类,以便于根据它们快速编写所需要的视图类。我们写的视图类只需要继承这些基类,便可以实现很强大的功能。
编辑 appname/views.py 文件 ,将以下代码写入其中:

from django.shortcuts import render
from django.views.generic import TemplateView,ListView
# 创建视图类需要基础视图基类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值