01-Django基础

一、Django简介和安装

安装版本与步骤见下面官网
官网 https://www.djangoproject.com/download/

版本选择:
1.3 上古版本
1.8 三五年前项目
1.11 第一代版本的最后一个中版本,最后一个支持python2的版本
2.0以后 更完善的功能, 仅支持python3
(LTS)long-term support 长期维护版,公司开发选用 更稳定

本项目用2.2.3版本

安装
pip install Django 此安装默认安装最新版本
pip install Django==2.2.3 安装特定版本

二、如何创建工程

安装好之后开始创建工程。建议一个项目创建一个单独的目录。

创建
安装django后会一并安装django-admin.exe的命令工具.
1.打开cmd或power shell或pycharm的Terminal , cd到放项目的目录下
2.输入命令 : django-admin startproject [project name]

运行测试服务器
测试服务器性能低, 不负责高并发, 仅供单人开发访问用。
cd到项目文件夹下 python manage.py runserver
与平时python xxx.py不同,manage.py被第三方工具封装成了CLI命令行工具, 后面runserver是一个参数。
自定义访问者ip和开放端口python manage.py runserver 0.0.0.0:8000

基本项目结构介绍:
manage.py 命令行工具. 负责运行,创建子模块等功能,跟django-admin.
mysite 跟项目同名的子包
mysite/setting 工程项目设置文件. 数据库,时区,语言等. 方便其他地方调用.
mysite/urls.py url路由, 指向不同的视图函数.
mysite/wsgi 通用网关接口.部署时用到.

三、如何创建app

命令代码python manage.py startapp [appname]

project VS apps
django 项目里的app并不是我们平时所说的应用, 一个项目,一个应用在project,django框架中的app是一个更小级别的划分,代表一个大模块.
比如大型项目教育网站,权限,学生,教室,后台,每个大模块下有几十个页面功能.都写在一起脚本太大不好维护,所以django小项目可以写一个模块,大项目可以按照逻辑分为多个app(子应用)

app中的目录:
app/migrations数据库迁移桥本
admin.py 自带的后台配置文件, 快捷实现表CRUD
models.py 定义数据库表结构
tests.py 单元
views.py 视图, 功能逻辑, 渲染页面

四、配置settings.py

配置settings-DATABASES详见: http://d.u753.com/ref/settings.html#std:setting-NAME

mysql连用户名,密码,项目大型后会有很多配置, 如果写在每一个py脚本中将会产生重复代码, 解决方案是在py.json配置我呢见声明键值对变量, 其他各个py脚本配置变量习惯上全大写字母命名。

数据库配置

默认sqlite,其他mysql, PostgreSQL

sqlite

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

mysql

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        # 'NAME': 'my_mysql_instance',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'OPTIONS': {
            # 'read_default_file': '/path/to/my.cnf',
        },
    }

PostgreSQL

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

五、生成表结构

1.module.py 用类的方式定义表结构
2.想要使用和生成表结构的app需要先加入到settings中的installed_apps

INSTALLED_APPS = [
    # 框架自带应用,管理后台,权限,会话,静态文件等
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles', # 找不到 'staticfiles polls'包,少写逗号.
    # 自定义应用
    'polls.apps.PollsConfig', # 或'polls'       ?增加的一行,自定义创建的应用
]

3.生成sql python manage.py makemigrations [app_name] ,生成的迁移脚本在migrations文件夹下.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上写完后创建数据库, 地址选中该目录下执行python manage.py runserver之后出现的db.sqlite3

4.执行sql python manage.py migrate
在这里插入图片描述

5.成功后会在数据库中看到生成的表.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值