zoukankan      html  css  js  c++  java
  • doraemon的python(大更新) django静态文件的配置(出错多的地方)

    ### 12.2 静态文件的使用
    
    #### 12.2.1静态文件的配置和使用
    
    settings.py
    
    ```python
    STATIC_URL = '/static/'  #别名
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR,'static'),
        os.path.join(BASE_DIR,'static1'),
        os.path.join(BASE_DIR,'static2')
        
    ]
    ```
    
    放置在static文件夹中的静态文件,应该这样找:
    
    ```html
    <link rel="stylesheet" href="/static/css/login/css"
    //注意:无论静态文件的名字叫什么,查找需要交的静态文件时,用的是别名,不是文件夹真正的名字
          按照列表的顺序来进行查找的
    ```
    
    #### 12.2.2 简单的登录实例
    
    form表单提交数据注意的问题:
    
    1. 提交的抵制action="" 请求方式 method="post"
    2. 所有的input框都有name属性
    3. 有一个input框的type="submit"或者有一个button
    
    注意:提交post数据请求,把settings中MIDDLEWARE的'django.middleware.csrf.CsrfViewMiddleware'注释掉
    
    #### 12.2.3 app
    
    app:
    
    - admin.py   #Django后台管理的工具
    - modles.py  #跟ORM相关
    - views.py #写函数
    
    创建APP:
    
    - 命令行 python manage.py startapp app名称
    - pycharm:tools——>run manage.py task ——>startapp app名称
    
    注册APP:
    
    ```python
    INSTALLED_APPS = [
        ...
        'app01',
        'app01.apps.App01Config',  #推荐写法
    ]
    ```
    
    #### 12.2.4 ORM
    
    Django中使用MySQL数据库的流程:
    
    1. 创建一个MySQL数据库
    
    2. 在settings中配置,Django链接MySQL数据库:
    
    3. ```python
       DATABASES = {
           default:{
               'ENGINE':'django.db.backends.mysql',   #引擎
               'NAME':'day53',             #数据库名称
               'HOST':'127.0.0.1',        #ip地址
               'PORT':3306,        #端口
               'USER':'root'      #用户
               'PASSWORD':'123'    #密码
           }
       }
       ```
    
    4. 在与settings同级目录下的init文件中写:
    
    5. ```python
       import pymysql
       pymysql.install_as_MySQLdb()
       ```
    
    6. 创建表(在app下的models.py中写类):
    
    7. ```python
       from django.db import models
       
       class User(models.Model):
           username = models.CharField(max_length=32)    #username varchar(32)
           password = models.CharField(max_length=32)     #password varchar(32)
       ```
    
    8. 执行数据库迁移的命令
    
       1. python manage.py makemigrations  #检测每个注册app下的model.py  记录model的变更记录
       2. python manage.py migrate  #同步变更记录到数据库中
    
    orm操作 
    
    ```python
    # 获取表中所有的数据
    ret = models.User.objects.all()   #QuerySet 对象列表 [对象]
    #获取一个对象(有且唯一)
    obj = models.User.objects.get(username='alex')   #获取不到或者获取到多个对象会报错
    #获取满足条件的对象
    ret = models.User.objects.filter(username='alex',password='asd')   #QuerySet  对象列表
    ```
  • 相关阅读:
    再说Play!framework http://hsfgo.iteye.com/blog/806974
    PlayFramework 1 自定义标签 -- FastTags http://unmi.cc/category/javajee/playframework/
    [译] 第三十天:Play Framework
    你可以使用 play framework 做5件很爽的事情http://www.anool.net/?p=629
    Play常用代码片段 http://www.anool.net/?p=625
    Play 内置模板标签(1.2.3版本)http://www.anool.net/?p=617
    for what? while 与 until 差在哪?-- Shell十三问<第十三问>
    你要 if 还是 case 呢?-- Shell十三问<第十二问>
    > 与 < 差在哪?-- Shell十三问<第十一问>
    && 与 || 差在哪?-- Shell十三问<第十问>
  • 原文地址:https://www.cnblogs.com/doraemon548542/p/11595403.html
Copyright © 2011-2022 走看看