Django-1

运行环境:pycharm,mac,mysql,版本不过多的简述:

  1.Django的安装:我直接pip3 install Django,如果不能正常安装,网上资料很多。

  2.创建Django项目,主要有2种方式:(1)pycharm界面创建,(2)Django-admin startproject 项目名: 在终端指定的文件夹创建

  3.创建完成项目后,进行一些基础的配置

    1.settings:templates文件夹的位置,一般不需要修改

    2.静态文件:

      1. STATIC_URL --> 静态文件夹的别名(在HTML文件中用的)
      2. STATICFILES_DIRS --> 静态文件夹的真正路径

      例:

STATIC_URL = '/static/'  

STATIC_DIRS = [
os.path.join(BASE_DIR,'static')
]
      3.注释掉csrf
      4.Django连接数据库的信息

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'Django',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': 'root',
}
}

 4.views.py一般用来定义函数

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的使用
类:::::数据表
对象::::数据行
属性::::字段

功能:ORM操作数据行、数据表

Django里的ORM的使用:
  1.手动创建数据库
  2.在settings.py里面,配置数据的连接信息
    DATABASES= {
    'default':{
        'ENGINE':'django.db.backends,mysql',
        'NAME':'python',
        'HOST','127.0.0.1',
        'USER':'',
        'PASSWORD':'',
      }
    }
   3.在项目/__init__.py告诉Django用pymysql模块代替MySQLdb来连接MYSQL数据库
    import pymysql
    pymysql.install_as_MySQLdb()
   4.在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)
   5.执行命令
    1.python3 manage.py makemigrations -->把models.py里面的更改记录起来
    2.python3 manage.py migrate -->把更改翻译成SQL语句,去数据库执行
注意:执行第5步命令的时候,检查app是否添加到了settings里面
    创建app的命令 : python manage.py startapp xxx
   6.表和表之间的关系
      1.一对多(出版社和书)
        publisher = models.ForeignKey(to="Publisher")
        数据库中会给publisher自动加一个id----》publisher_id
      2.多对多
        books = models.ManyToManyField(to="Book")
    7.表单的增删改查
      1.单表的增删改查
        增
        models.Publisher.objects.create("xx出版社")
        查
        models.Publisher.objects.get(id = 1)
        models.Publisher.objects.get(name="xxx")
        改
        obj = models.Publisher.objects.get(id = 1)
        obj.name = "xxx"
        obj.save()
        删
        models.Publisher.objects.get(id=1).delete()
      两个models的区别:
        1.第一个是Django内置的models模块,from django.db import models
        2.第二个使我们自己写类的models模块,from app01 import models
       2.外键的增删改查
        增删查同上
        book_obj = models.Book.objects.get(id= 1)

          book_obj.publisher.id 和书关联的出版社的id值
          book_obj.publisher.name 和书关联的出版社的名称

       3.多对多的操作
          1.查id为1的作者都写过什么书
            author_obj = models.Author.objects.get(id = 1)
            author_obj.books.all() -- 和作者关联的索引的书
          2.想给作者绑定多本书
            author_obj = models.Author.objects







转载于:https://www.cnblogs.com/FlowerNotGiveYou/p/11363286.html

你可能感兴趣的:(Django-1)