python3 djiango2.0 学习笔录

Django学习

pip install virtualenv
1、安装虚拟环境
cmd
H:
cd dir envs
virtualenv mytestvirtual
cd mytestvirtual/Scripts/activate 启动虚拟环境
或者

pip install virtualwrapper(管理虚拟环境的)
将envs加入系统环境变量
cd envs
workon mytestvirtual  启动虚拟环境


2、运行虚拟环境,安装Django

*Django项目中,项目的组织结构为:一个项目包含多个应用,一个应用对应一个业务模块
*示例:创建项目的名称为 BookManger,创建应用的名称为Book
*在当前用户的某个目录下创建项目,这样不会发生权限问题

3、创建Django项目

在桌面创建项目:cd ~/Desktop/
创建项目的命令:django-admin startproject BookManger
cd ~/Desktop/BookManger/
tree /f
同名文件夹BookManger
文件:manage.py

4、创建Django应用
python manage.py startapp Book
生成 Book应用文件夹

5、pycharm打开BookManger项目
where python 查看虚拟环境的python.exe的绝对路径
调该栏目的python环境为虚拟环境

6、配置 settings.py 增加我们的Book应用
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
#     安装应用
    'Book',
]

7、运行
python manage.py runserver python的测试服务器
http://127.0.0.1:8000/ 浏览器可以访问
创建成功

8、使用Django进行数据库开发
***************************************************************************************
 MVT 设计模式中的Model,专门负责和数据库交互 models.py
 由于Model 中内嵌了 ORM框架,所以不需要直接面向数据库编程
 而是定义模型类,通过 模型类和对象 完成数据表的 增删改查
 ORM框架 就是把数据表的行与相应的对象建立关联,互相转换,使得数据库的操作面向对象
***************************************************************************************
*定义模型类

class BookInfo(models.Model):
    """定义书籍信息的模型类"""

    #设计name
    name = models.CharField(max_length=10)


class PeopleInfo(models.Model):
    """定义人物信息的模型类"""

    name =  models.CharField(max_length=10)
    gender = models.BooleanField()
    book = models.ForeignKey(BookInfo)#外键设置
    #models.ForeignKey(BookInfo,on_delete=models.CASCADE)

*模型迁移

生成迁移:
python manage.py makemigrations
***************************************************************************************
 Book\migrations\0001_initial.py
    - Create model BookInfo
    - Create model PeopleInfo
***************************************************************************************
执行迁移:
*********python manage.py migrate*********

生成db.sqlite3

=====================================MYSQL==================================
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient
下载whl
pip install ***.whl

CREATE  DATABASE  database_name CHARACTER SET UTF8;       指定数据库的编码utf8

DATABASES = {
    # 默认的sqlite3
    # 'default': {
    #     'ENGINE': 'django.db.backends.'default': {
    #         'ENGINE': 'django.db.backends.sqlite3',
    #         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    #     }',
    #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    # }
    # 配置mysql
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'bookdjango',# 数据库名字
        'HOST': 'localhost',
        'PORT': 3306,
        'USER': 'root',
        'PASSWORD': 'root',
    }
}
输入python manage.py sqlmigrate appname 0001查看生成的sql语法
如果sql正确,不能新建数据表:
报错 raise MigrationSchemaMissing("Unable to create the django_migrations table (%s)" % exc)
1、修改数据库的权限,版本5.55  失败
2、将django的版本安装2.0   pip install Django==2.0.0 -i https://pypi.douban.com/simple
*********python manage.py sqlmigrate Book 0001*********
Book app_name应用名称 0001 migration_name 文件0001_initial.py
=====================================MYSQL==================================
*操作数据库


django站点 后台 web访问

站点:分为 内容发布 和 公共访问 两部分
内容发布:网站的管理员复制查看、添加、修改、删除数据
使用django的管理模块,需要以下步骤:
*管理界面本地化

语言、时间设置
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
===
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'

*创建管理员

python manage.py createsuperuser
admin 2018huahua
python manage.py runserver

*注册模型类

admin.py
# 注册书籍信息
admin.site.register(BookInfo)
# 注册人物信息
admin.site.register(PeopleInfo)

*发布内容到数据库

*自定义站点管理页面

models.py

改变部分

class BookInfo(models.Model):
    """定义书籍信息的模型类"""

    #设计name
    name = models.CharField(max_length=10)

    def __str__(self):
        """以字符串的形式输出模型"""
        return self.name

改变某个类型的站点页面
models.py

class PeopleInfoAdmin(admin.ModelAdmin):
    """人物信息模型类的站点管理类 web"""
    list_display = ['id','name','gender','book']



# 注册书籍信息
admin.site.register(BookInfo)
# 注册人物信息
admin.site.register(PeopleInfo, PeopleInfoAdmin)#注册人物信息类 和人物站点信息管理类

  

转载于:https://www.cnblogs.com/huahua2018/p/9970205.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值