Django框架笔记(二)

学习Django框架的第二天笔记

MVC / MTV设计模式

  • 模板 template

    1. 模板的配置
      setting.py
      TEMPLATE = [
      DIRS = […模板的绝对路径1,路径2,…]

      ]
      DEBUG = True/False

    2. 模板的加载方法:

      1. from django.shortcut import render
        render(request, ‘模版的相对路径名’, 数据字典)
        render 返回的是一个HttpResponse对象
      2. from django.template import loader
        t = loader.get_template(‘模版的相对路径名’)
        html = t.render(数据字典)
        return HttpResponse(html)
    3. 模板的语法:
      (1)模板的变量
      {{ 变量名 }}
      {{ 变量名.1 }}
      {{ 变量名.key}}
      {{ 对象.方法 }}
      (2)模板的控制标签
      if 标签
      {% if 条件表达式 %}
      {% elif … %}
      {% else %}
      {% endif %}
      for 标签
      {% for x in 可迭代对象 %}
      … {{ forloop.counter }}
      {% empty %}
      {% endfor %}
      cycle 标签
      {% cycle 值1 值2 值3 %}
      (3)注释 
        {# #}
      {% comment %}
      {% endcomment}
      (4) 模板的过滤器
      {{ 变量 | 过滤器1: 参数1 | }}
      转义 
         {% autoescape on %}
      {{ 变量 }}
      {% endautoescate %}
      (5)模板的继承
      {% block 块名 %}

      {% endblock %}

      继承语法
      {% extends ‘父模板的名称’ %}
      {# 覆盖block #}
      {% block 块名 %}
      子模板的新内容
      {% endblock %}
      (6)反向解析
      url(正则表达式, 视图函数,name=‘别名’)
      {% url ‘别名’ %}
      {% url ‘别名’ ‘参数1’ …}

  • 创建应用
    python3 manage.py startapp app名

    1. 添加urls.py
      urlpatterns = [
      url(…) 定义子路由
      ]

    2. 添加 view 处理函数
      views.py 里添加子路由对应的处理函数

    3. 在settings.py 里注册app

    4. 把子路由添加到主路由urls.py里

    5. python3 manage.py startapp bookstore

    6. INSTALLED_APPS =[

      ‘bookstore’,
      ]

    7. 添加主路由:
        urls.py
      urlpatterns = [

      url(r’^book/’, include(…)),
      ]

    8. 有bookstore/urls.py
      urlpatterns = [

      ]

    9. 定义视图函数 bookstore/views.py
      def homepage(…): 对应r’^$’
      /book/ 显示图书主页

  • 数据库的操作:

    1. 配置settings.py
      DATABASES = {
      ‘default’ : {
      ‘ENGINE’: ‘django.db.backends.mysql’,
      ‘NAME’: ‘mywebdb’, # 数据库名称,需要自己定义
      ‘USER’: ‘root’,
      ‘PASSWORD’: ‘123456’, # 管理员密码
      ‘HOST’: ‘127.0.0.1’,
      ‘PORT’: 3306,
      }
      }
      2.修改 项目名称/init.py
      import pymysql
      pymysql.install_as_MySQLdb()
      3.生成迁移文件
      python3 manage.py makemigrations
      4.更新数据库
      python3 manage.py migrate
      5.生成一个自己的数据库表,用来图书信息
      1. python3 manage.py startapp bookstore
      2. 注册bookstore 到Django框架
        INSTALLED_APPS = [

        ‘bookstore’
        ]
      3. 添加自己的数据表
        在 bookstore.py 里创建一个模型类
        class Book(models.Model):
        title = CharField(…)
      4. 重新生成迁移文件
        python3 manage.py makemigrations
      5. 更新数据库
        python3 manage.py migrate
  • 出错处理

    1. 删除 migrations里所有的 000?_XXXX.py
    2. 删除 数据表
      sql> drop database mywebdb;
    3. 重新创建 数据表
      sql> create datebase mywebdb default charset…;
    4. 重新生成migrations里所有的 000?_XXXX.py
      python3 manage.py makemigrations
    5. 重新更新数据库
      python3 manage.py migrate
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值