• Django基本配置


    Django 基本配置

    • pip install django 安装django

    • python manage.py startproject mysite

    • 修改setting.py文件

      • 修改数据库的配置文件,系统默认的是sqllite3 不用配置,直接可以用

      • 如果要换成Mysql 需要以下修改.

        • 安装mysql-python如果没有安装,会报错.

        No module named MySQLdb

            'ENGINE': 'django.db.backends.mysql',
            'NAME':  '数据库的名字',
            'USER':'用户的名字',
            'PASSWORD':'用户的密码',
            'HOST':'IP地址',
        
    • 修改静态文件的地址

        STATIC_URL = '/static/'
        在下面添加
        STATICFILES_DIRS=(
            os.path.join(BASE_DIR,'static'),
        )
      
    • 引用静态文件的方法

      {% static images/logo.png%}
      
    • 并且记得在html文件加上 {% load staticfiles %},不过不能放在{% extends base.html %}前面,不然也会报错.

    • 创建app的方法: python manage.py startapp appname

    • 创建表格的方法.在Model中写清楚

    例子

        class BlogArticles(models.Model): #继承model
        title=models.CharField(max_length=300)# CharField需要写清楚,max_length,最好越清楚越好,对数据库有优化作用
        author=models.ForeignKey(User,related_name="blog_posts") # 外检关系
        body=models.TextField()
        publish=models.DateTimeField(default=timezone.now)
    
        class Meta:
          ordering=("-publish",)
    
    
        def __str__(self):
          return self.title
    

    常用字段

    • EmailField
    • class EmailField([max_length=75, **options]),它是带有 email 合法性检测的A CharField 。
    • FileField
    • class FileField(upload_to=None[, max_length=100, **options])
    • ImageField
    • class ImageField(upload_to=None[, height_field=None, width_field=None, max_length=100, **options])
    • 和 FileField 一样,只是会验证上传对象是不是一个合法的图象文件。它有两个可选参数:
    • DateField
    • class DateField([auto_now=False, auto_now_add=False, **options])
    • 该字段利用 Python 的 datetime.date 实例来表示日期。下面是它额外的可选参数:
    • DateField.auto_now
    • 每一次保存对象时,Django 都会自动将该字段的值设置为当前时间。一般用来表示 "最后修改" 时间。要注意使用的是当前日期,而并非默认值,所以你不能通过重写默认值的办法来改变保存时间。
    • DateField.auto_now_add
    • 在第一次创建对象时,Django 自动将该字段的值设置为当前时间,一般用来表示对象创建时间。它使用的同样是当前日期,而非默认值。
    • BooleanField
    • class BooleanField(**options)
    • 一个布尔值(true/false)字段。Django 的管理后台用checkbox来表现该字段类型。
    • SlugField
    • class SlugField([max_length=50, **options])
    • Slug 是一个新闻术语,是指某个事件的短标签。它只能由字母,数字,下划线或连字符组成。通赏情况下,它被用做网址的一部分。
    • 和 CharField 类似,你可以指定 max_length (要注意数据库兼容性和本节提到的 max_length )。
    • 如果没有指定 max_length ,Django 会默认字段长度为50。该字段会自动设置 Field.db_index to True。基于其他字段的值来自动填充 Slug 字段是很有用的。你可以在 Django 的管理后台中使用 prepopulated_fields 来做到这一点。

    常用option

    blank
    如果为 True,字段允许不填。默认为 False 。
    
    choices
    它是一个可迭代的二元组(比如,列表或是元组),用来给字段提供选择项。
    实现Django后台管理的下拉框选择。如果设置了 choices ,Django 的管理后台就会显示选择框,而不是标准的文本框,而且这个选择框的选项就是 choices 中的元组。‘choices' must  be an iterable containing (actual value, human readable name) tuples.每个元组中的第一个元素,是存储在数据库中的值;第二个元素是该选项更易理解的描述。
    choices 列表可以定义为 model 类的一部分,也可以定义在 model 类之外:
    
    class Foo(models.Model):
      GENDER_CHOICES = (
          ('M', 'Male'),
          ('F', 'Female'),
      )
      gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
    
    
    default
    该字段的默认值。它可以是一个值,也可以是一个可调用的对象(这里称之为对象C)。若是后者,那么每次创建一个新对象时,对象C都将被调用。
    
      primary_key
      如果为 True,那么该字段就是 model 的主键。
      如果你没有指定任何一个字段的 primary_key=True ,Django 就会自动添加一个 IntegerField 做为主键字段。所以除非你想重写默认的主键行为,否则没必要在任何字段上设置primary_key=True 。详见 自增主键字段 (Automatic primary key fields) 。
      primary_key=True 意味着 null=False 和 unique=True 。一个对象只能有一个主键。
      
      unique
      如果为 True,该字段值就必须是全表唯一的。
      它同时作用于数据库层级以及 Django 的管理后台和表单层级。如果你保存 model 时,某个 unique 字段的值是重复的,那么 save() 方法就会抛出 django.db.IntegrityError 异常。
      这个选项在所有的字段上都是可用的,除了 ManyToManyField 和 FileField 以外。
    
      verbose_name
      该字段易于理解的名称。如果没有提供自述名,Django 会根据字段的属性名自动创建自述名--就是将属性名称中的空格替换成下划线。
  • 相关阅读:
    机器学习之朴素贝叶斯
    机器学习之KNN
    格式化数字
    web.xml中load-on-startup的作用
    ExecutorService线程池
    201404转成 2014.04
    DBCP连接池配置示例
    java 写文本换行
    打印IP 来源
    MySQL分库分表的一些技巧
  • 原文地址:https://www.cnblogs.com/maxaimee/p/6582832.html
Copyright © 2020-2023  润新知