• PYTHON3.django_day04(见pdf)


    day3回顾
    静态文件
         修改 settings.py
         配置静态文件的访问路径(路由的起始位置)
           STATIC_URL = '/static/'
         配置静态文件的存储路径
           STATICFILES_DIRS = (路径1, 路径2, ...)
         访问:
           1. 通过地址栏输入
           2. <link .....>
           3. <script src=.....>
           4. <img src=....>
         模板中如何获取静态文件的访问路径?
           {% load static %}
           {% static '静态文件地址'}

    django 中的 app 应用
       应用里有自己的路由,视图,模板,模型
       python3 manage.py startapp 应用名称
       应用名称/
         views.py  视图
         models.py  模型类
         urls.py    路由(自己创建)
         __init__.py 
         migrations/   # 迁移脚本文件 python3 manage.py makemigrations
              __init__.py
              0001_init.....py
              0002_.........py   # python3 manage.py migrate
         admin.py  # 后台数据库管理文件
         apps.py   # 当前应用的文件

    添加APP到当前项目中
    settings.py
        INSTALLED_APPS = [
            .....
            '应用名称',
        ]

    分布式路由
       主路由处理文件urls.py
          urlpatterns = [
             url(r'^admin' , ......),
             url(r'^news', include('news.urls'))
          ]

    数据库和模型
        DATABASES = {
            'default' : {
                 ...配置数据库
                 "ENGINE": 'django.......mysql',
                 "HOST": ...,
                 "PORT": 3306,
                 'NAME': 数据库的名称,
                 'USER': 'root',
                 'PASSWORD': '123456',
            }
        }

        项目文件夹下/__init__.py
           import pymysql
           pymysql.install_as_MySQLdb()

    模型类
       from django.db import models
       class 模型类名(models.Model):
           类属性1 = models.CharField(max_length=30),

      obj1 = 模型类名()  # 创建对象(创建一条记录)

    ORM
       1. 只需要面向对象编程即可以直接操作数据库
       2. 实现了数据模型 与数据库的解耦,屏蔽数据库的操作差异
          好处: 直接简单修改数据库的配置,即可方便切换数据库


        FIELD_TYPE 字段类型
           CharField
           BooleanField
           IntegerField
           FloatField
           DecimalFeild
           DateField
           DatetimeField
           ...
         xxx = CharField(max_length=20, null=True,
                        blank=True, default='',
                        ....)
    常用的字段选项
         default
         nulll
         blank
         unique
         primary_key
         db_index
         ...

    day4 笔记
         1. 创建项目
           $ django-admin startproject mysite4
           cd mysite4
         2. 配置数据库
             数据库名定义: 'mysite4_db'
             sql> create database mysite4_db default charset utf8 collate utf8_general_ci;
            settings.py
               修改 DATABASES = {...}
            修改: __init__.py
               import pymysql
               pymysql.install_as_MySQLdb()
         3. 把昨天示例 mysite3/bookstore 这个应用直接
            复制到mysite4下
         4. 配置bookstore下的分布式路由
         5. 注册bookstore应用:
             INSTALLED_APPS = [
                 'bookstore'
             ]
        6. 做迁移操作
            $ python3 manage.py makemigrations
            $ python3 manage.py migrate


         127.0.0.1:8000/bookstore/add?title=Python
                       &pub=清华大学出版社
           http://127.0.0.1:8000/bookstore/add?title=java&pub=北京大学出版社

           add_book_view(request):
                Book.objects.create(title="Python",
                          pub="清华大学出版社")

    写一个页面用来显示所有的图书
       路由:
         127.0.0.1:8000/bookstore/books
       模版名:
          books.html
       视图名:
          /bookstore/views.py
            books_view(request)

    models.Book.objects.filter(pub__contains="清华")
    models.Book.objects.filter(pub__contains="C")

  • 相关阅读:
    四则运算2实验及表格
    四则运算2初步构思
    2015.3.6的程序实践
    对《梦断代码》的阅读计划
    林锐——软件思想阅读笔记2
    二维数组最大子数组溢出问题
    循环数组求最大子数组
    电梯调度需求分析调研报告
    二维数组求最大子数组
    四则运算实现用户输入答案并统计正确数量
  • 原文地址:https://www.cnblogs.com/shengjia/p/11196864.html
Copyright © 2020-2023  润新知