Django创建应用二

Django组织结构符合 Django 的 MTV 法则——

  Model(模型):数据库相关的操作

  Template(模版):将数据库数据嵌入html页面中

  View(视图):逻辑处理

1.模板

分离文档的表现形式和内容

(1)模板

在跟目录添加 templates

添加 templates/index.html

{{ hello }}

说明:

  变量使用双括号

(2)配置

修改 settings.py 中,APP_DIRS部分

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR+"/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',
            ],
        },
    },
]

(3)修改view.py

from django.shortcuts import render

def index(request):
    context          = {}
    context['hello'] = 'Hello World!'
    return render(request, 'index.html', context)

启动服务器,http://localhost:8000/

输出

(4)继承

base.html




"utf-8">
this <span style="color: #0000ff;">is</span> a test


    

{{ hello }}

My Django

{% block mainbody %}

original

{% endblock %}

index.html

{%extends "base.html" %}
{% block mainbody %}

继承了 base.html 文件

{% endblock %}

Django创建应用二_第1张图片

 说明:

  {% block %} 标签,子模板可以重载这些部分

模板最常用的语法

  表达式


{{ variable }}


{{ dict.key }}
{{ object.attribute }}


{{ list.0 }}

  条件

{% if is_true %}
  

It is true!

{% else %}

It is false!

{% endif %}

  循环

{% for elem in some_list %}
  

{{ elem }}

{% endfor %}

 2.模型

Django使用 SQLite 作为默认数据库

(1)创建数据库

python manage.py migrate

Django创建应用二_第2张图片

检查INSTALLED_APPS 设置,为其中的每个应用创建需要的数据表

根据mysite/settings.py 设置文件和每个应用的数据库迁移文件创建

(2)创建模型

from django.db import models

class Articles(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    author = models.CharField(max_length=50)
    pub_date = models.DateTimeField('date published')

(3)激活模型

修改settings.py,将自定义的应用blog添加到INSTALLED_APPS

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

生成Migration,执行

python manage.py makemigrations blog

生成表结构, 执行

python manage.py migrate blog

数据库中

Django创建应用二_第3张图片

 总结:

  使用数据库迁移,将定义的模型转换成 SQL 代码(即迁移文件),并在数据库中进行建表操作(或更新表)

  步骤:

用 Django 定义数据模型

用 makemigrations 命令创建迁移文件,存储在子应用的 migrations 目录下

用 migrate  命令执行迁移

Django创建应用二_第4张图片

 

你可能感兴趣的:(Django创建应用二)