Django创建应用二详解编程语言

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

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

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

  View(视图):逻辑处理

1.模板

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

(1)模板

在跟目录添加 templates

添加 templates/index.html

<h1>{{ hello }}</h1>

说明:

  变量使用双括号

(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/

输出

Django创建应用二详解编程语言

(4)继承

base.html

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>this is a test</title> 
</head> 
<body> 
    <h1>{{ hello }}</h1> 
    <p>My Django <p> 
    {% block mainbody %} 
       <p>original</p> 
    {% endblock %} 
</body> 
</html>

index.html

{%extends "base.html" %} 
{% block mainbody %} 
<p>继承了 base.html 文件</p> 
{% endblock %}

Django创建应用二详解编程语言

 说明:

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

模板最常用的语法

  表达式

<!-- 单个变量 --> 
{{ variable }} 
 
<!-- 获取字典的键或对象的属性 --> 
{{ dict.key }} 
{{ object.attribute }} 
 
<!-- 获取列表中的某个元素 --> 
{{ list.0 }}

  条件

{% if is_true %} 
  <h1>It is true!</h1> 
{% else %} 
  <h1>It is false!</h1> 
{% endif %}

  循环

{% for elem in some_list %} 
  <p>{{ elem }}</p> 
{% endfor %}

 2.模型

Django使用 SQLite 作为默认数据库

(1)创建数据库

python manage.py migrate

Django创建应用二详解编程语言

检查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

Django创建应用二详解编程语言

生成表结构, 执行

python manage.py migrate blog

Django创建应用二详解编程语言

数据库中

Django创建应用二详解编程语言

 总结:

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

  步骤:

用 Django 定义数据模型

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

用 migrate  命令执行迁移

Django创建应用二详解编程语言

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/20492.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论