zoukankan      html  css  js  c++  java
  • Django基础

    1.Django安装

    pip install django==2.1.5

    2.修改配置

    settings.py-->

    LANGUAGE_CODE = 'zh-Hans'
    TIME_ZONE = 'Asia/Shanghai'
    USE_I18N = True
    USE_L10N = True
    USE_TZ = False

    3.Django默认的数据库是sqlite,如果想用mysql

    settings.py-->

        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'db1',
            'USER': 'user1',
            'PASSWORD': 'pass111',
            'HOST':'192.126.1.1',
            'PORT':3306
        } #MYSQL的配置

      然后在__init__.py里加入

      import pymysql
      pymysql.install_as_MySQLdb()
      #如果使用mysql的话,一定要加这个

    4.在主目录下新建一个static目录来存放静态文件

    5.用静态文件的配置

    settings.py-->

    STATICFILES_DIRS = (
      os.path.join(BASE_DIR,'static'),
    ) #用静态文件的配置

    6.与数据库交互

    python manage.py makemigrations  生成表结构

    python manage.py migrate  建表

    python manage.py createsuperuser  创建超级账号

    7.如果想通过后台管理加数据

    admin-->  

    from . import models
    admin.site.register(models.Category)

    8.Django操作数据库

    新建一个py文件-->model_test.py

    导入model文件

    import django,os
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_demo.settings')
    django.setup()  

    from user.models import Category

      新增:

      方式1-->

      Category.objects.create(name='DB2')

      方式2-->

      obj = Category(name='Oracle')
      obj.save()

      查询:

      obj = Category.objects.all()   #获取所有的
      obj = Category.objects.get(id=1)   #  获取一条,获取多条会报错
      obj = Category.objects.get(id__gt=1)  #大于
      obj = Category.objects.get(id__lt=1)  #小于
      obj = Category.objects.get(id__gte=1)  #大于等于
      obj = Category.objects.get(id__lte=1)  #小于等于

      data = Category.objects.filter()
      data.first()  #取第一个
      data.last()  #取最后一个
      data = Category.objects.filter(name__endswith='xx')  #以xx结尾
      data = Category.objects.filter(name__startswith='xx')  #以xx开头
      data = Category.objects.exclude(name="首页").filter(id__gte=1)   #exclude排除
      data = Category.objects.filter(name__startswith='李').exclude(sex="女")  #以李开头且性别不是女的
      data = Category.objects.filter(name__contains='l')   #包含
      data = Category.objects.filter(name__icontains='l')  #不区分大小写包含
      data = Category.objects.filter(name__in=['首页','Mysql','python'])   #包含

      修改:

      Category.objects.update(is_delete=True)  #修改全表
      obj = Category.objects.get(id=1)  #改某条数据
      obj.is_delete = False
      obj.save() #修改一条需要sava

      Category.objects.filter(id__in=[2,3,4]).update(is_delete=False) # 修改多条不需要sava

      删除:

      Category.objects.all().delete()  #删除全表
      obj = Category.objects.get(id=1)  #删某条数据
      obj.delete()
      obj.save()

      Category.objects.filter(id__in=[2,3,4]).delete(is_delete=False)

      排序:

      Category.object.all().order_by("greate_time")  #按照创建时间排序

    9.上传文件

    pip install pillow  #需要先下载这个模块

    setting-->

    MEDIA_ROOT = os.path.join(BASE_DIR,'static')   #上传文件的路径

  • 相关阅读:
    [转]利用docker进行java开发小demo
    markdown简介及语法
    Thinking in Java 之classpath理解
    docker官方windows安装
    Thinking in Java笔记之类及对象的初始化
    开发工具之play framework
    图解phpstorm常用快捷键
    Git相关
    Yii 1.1 cookie删不掉
    ajax跨域,这应该是最全的解决方案了
  • 原文地址:https://www.cnblogs.com/wangyujian/p/12093965.html
Copyright © 2011-2022 走看看