zoukankan      html  css  js  c++  java
  • 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")

  • 相关阅读:
    转:WinCE驱动开发问题精华集锦
    转:WINCE6.0+S3C6410下的DM9000A驱动
    转:WinCE6.0 不重启修改IP地址
    前端小功能:canvas验证码
    前端小功能:canvas签名版
    JavaScript中数组的应用方式
    ES6--Promise
    wepy 语法高亮
    Javascript和JQuery获取浏览器窗口各种尺寸
    图片预加载
  • 原文地址:https://www.cnblogs.com/shengjia/p/11196864.html
Copyright © 2011-2022 走看看