zoukankan      html  css  js  c++  java
  • django04

    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',
           }
       }
        
    	mycql分布式数据库,c/s架构(client/sever)
        
    	项目文件夹下/__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
        null
        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="清华大学出版社")
      
    

      

  • 相关阅读:
    WARNING OGG-00706 Failed to add supplemental log group on table
    Lucene&Solr框架之第一篇
    SSM框架整合之练习篇
    SpringMVC框架之第四篇
    SpringMVC框架之第三篇
    SpringMVC框架之第二篇
    SpringMVC框架之第一篇
    MyBatis框架之第三篇
    MyBatis框架之第二篇
    maven仓库之第二篇
  • 原文地址:https://www.cnblogs.com/gyl10/p/11209032.html
Copyright © 2011-2022 走看看