Django安装、配置

0. Django安装

  pip3 install django==1.11.11(可到官网查看长维护版本)

  pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ django==1.11.11

  PyCharm安装的时候:
  open in new window

 

1. Django项目的启动:

  1. 命令行启动
    在项目的根目录下(也就是有manage.py的那个目录),运行:
    python3 manage.py runserver IP:端口--> 在指定的IP和端口启动
    python3 manage.py runserver 端口 --> 在指定的端口启动
    python3 manage.py runserver --> 默认在本机的8000端口启动

2. PyCharm启动
  

3. 配置相关 项目名/settings.py文件

  1. Templates(存放HTML文件的配置) <-- 告诉Django去哪儿找我的HTML文件

  2. 静态文件(css/js/图片)
    # 静态文件保存目录的别名
    STATIC_URL = '/static/'

    # 所有静态文件(css/js/图片)都放在我下面你配置的文件夹中
    STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    ] 
    3. 注释掉setting.py中 带有 csrf 的那一行(大概45~47行)

 

4.Django中的APP:

  方便我们在一个大的Django项目中,管理实现不同的业务功能.

  1. 创建APP的命令

    1. 命令行,在Django项目的根目录输入:

    python3 manage.py startapp app名字

    2.修改setting文件:

    

 

  2.views.py

1. 专门用来定义处理请求的函数
1. 基本必备三件套
from django.shortcuts import HttpResponse, render, redirect
1. HttpResponse("要返回的内容") --> 通常用于直接返回数据
2. render(request, "html文件", {"k1": v1}) --> 返回一个HTML文件或者打开文件进行字符串替换
3. redirect("URL") --> 告诉用户的浏览器去访问其他的URL

2. request相关
1. request.method --> 查看请求的方法
2. request.POST --> 获取POST请求的数据

5.ORM:

  1.ORM的对应关系:

    类 ---> 数据表
    对象 ---> 数据行
    属性 ---> 字段

  2.使用Django的ORM详细步骤:

1. 自己动手创建数据库
  create database 数据库名;
2. 在Django项目中设置连接数据库的相关配置(告诉Django连接哪一个数据库)
# 数据库相关的配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 连接的数据库类型
'HOST': '127.0.0.1', # 连接数据库的地址
'PORT': 3306, # 端口
'NAME': "day61", # 数据库名称
'USER': 'root', # 用户
'PASSWORD': '123456' # 密码
}
}
3. 告诉Django用pymysql代替默认的MySQLDB 连接MySQL数据库
  在项目/__init__.py文件中,写下面两句:
  import pymysql
  # 告诉Django用pymysql来代替默认的MySQLdb
  pymysql.install_as_MySQLdb()
4. 在app下面的models.py文件中定义一个类,这个类必须继承models.Model
  class 类名(models.Model):
  ...
5. 执行两个命令
  1. python3 manage.py makemigrations
  2. python3 manage.py migrate

6.ORM单表的增加和查询:

  0.在app/models.py里面定义类

    # 出版社
    class Publisher(models.Model):
    id = models.AutoField(primary_key=True) # 自增的ID主键
    # 创建一个varchar(64)的唯一的不为空的字段
    name = models.CharField(max_length=64, null=False, unique=True)

  0.1执行两个命令

    1. python3 manage.py makemigrations --> 把models.py里面的更改读取出来
    2. python3 manage.py migrate --> 把更改翻译成SQL语句,去数据库执行

  1. 查询
    models.UserInfo.objects.all()

  2. 增加
    models.UserInfo.objects.create(name="张三")

 

posted @ 2018-12-10 09:48  swiftor  阅读(146)  评论(0编辑  收藏  举报