django配置加应用

步骤一:配置虚拟环境 

1:pip3 install virtualenv -ihttps://pypi.douban.com/simple

2:pip3:install virtualenvwrapper

创建虚拟环境     mkvirtualenv  +虚拟环境名字

删除虚拟环境     rmvirtualenv   + 虚拟环境名称

进入虚拟环境     workon +  虚拟环境名称

退出虚拟环境     deactivate  

查看当前虚拟环境 workon

查看环境以安装的包  pip list

配置环境变量

vi.bashrc   用vi打开bashrc文件

把这三句话贴到最下面

export WORKON_HOME=/home/jiu/.virtualenvs

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

source /usr/local/bin/virtualenvwrapper.sh 

最后使环境变量生效

source.bashrc 

步骤二:配置开发环境:安装 django  pymysql   1:pip install  django==1.8.2  。2: pip installpymysql

步骤三:创建项目:django-admin startproject  +项目名

步骤四:创建应用:python manage.py startapp +应用名称

步骤五:打开项目用pycharm

步骤六:在项目的 setting设置里面有一个INSTALLED_APPS  把我们的应用加到末尾

              然后修改DATABASES选项

                DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'NAME': 'test2',

        'USER': '用户名',

        'PASSWORD': '密码',

        'HOST': '数据库服务器ip,本地可以使用localhost',

        'PORT': '端口,默认为3306',

    }

}

              然后在有setting里有init的里面加入

import pymysql

pymysql.install_as_MySQLdb()

步骤七:配置数据库(mysql)

步骤八:设置模型需要两个步骤

                1:生成迁移文件   python manage.py  makemigrations

                2:执行迁移          python manage.py migrate              

python  manage.py  shell   简单的测试一下 可以省略 

                  测试流程:

                  先导入包:from z import *         

 from django.utils import timezone    

 from datetime import *              时间模块

 b = Bookinfo()                            创建一个实例对象

 b.btitle = '射雕英雄传'                 往表里的btitle字段添加数据,想要修改的话直接赋值就行

 b.date = datetime(1990,1,10)     往表里的date字段添加数据

 b.save()                                        保存数据

 b = Bookinfo.objects.get(pk=1)   查找Bookinfo表里主键等于一的图书信息,

 b.delete()                 删除图书信息

objects是Manager默认对象相当于管家,但是定义指定管理器之后他就不会出现

Manager是Django模型进行数据库查询操作的借口,每个模型都应该有至少一个管理器

情况一:自定义管理器类中添加额外的方法


情况二:修改管理器返回的原始查询集:重写继承的父类get_queryset()方法

class BookinfoManager(models.Manager):    类名无所谓,但是继承父类一定要写对

    def get_queryset(self) :                                定义跟父类同样的方法

            return super(BookinfoManager,self).get_queryset().filter( isDelete=False)  筛选isDelete=False的数据集再返回给用户    固定写法

你可能感兴趣的