Djalgo基础配置方法

静态文件配置方法

  1 所有的静态文件都放在 static 文件夹下,例如Bootstrap值类的第三方库,通常 static 文件下会创建 css image js 文件,用于存放与前端相关的数据文件。

  2 Django setting文件配置。

  1. # 静态文件配置
    STATIC_URL = '/static/' # 接口前缀,跟你的静态文件夹名字没有任何关系,默认情况下这个前缀和静态文件夹名字一样。
  2.  
  3. STATICFILES_DIRS = [
        os.path.join(BASE_DIR,'static') # 这里的路径就是你静态文件夹的路径
       os.path.join(BASE_DIR,'static2') # 通常项目中会出现多个static文件夹,有些app也会有独立的static文件夹。
                            前端请求会依次查找列表中所有的静态文件路径,找到则立刻停止,没有则返回
                            404          
    ]

在Pytham中链接MySQL数据库的方法

    1 创建数据库

           

   2 修改配置文件

  1. DATABASES = {
  2. 'default': {
  3. 'ENGINE': 'django.db.backends.mysql', # 键必须是大写
  4. 'NAME': 'day55',
  5. 'HOST':'127.0.0.1',
  6. 'PORT':3306,
  7. 'USER':'root',
  8. 'PASSWORD':''
  9. }
  10. }

   3 告诉Django 用pymysql替换它默认的mysqldb模块,链接数据库。

    两种方式:1 在项目文件夹下的__init__.py 或 直接在你应用文件夹下面的__init__.py

    # 固定写法

    inport pymysql

    pymysql.install_as_MySQLdb()

   4 Django 中的ORM

    什么是orm?

    对象关系映射

       类                  》》》  表
            对象              》》》  表记录
            对象的属性   》》》 一条记录某个字段对应的值

    注意:在Django中不能自动创建库,但是可以自动创建表,一个Django项目使用一个库,不要多个Django项目共用一个库。

   5 数据库同步

    第一次链接数据库/或后期对现有表的字段做更改操作,都必须执行数据同步命令!

      同步命令:python3 manage.py makemigrations  将你的数据库变动记录到一个小本本上(并不会帮你创建表)
           python3 manage.py migration  将数据库变动正式同步到数据库中

        下方的session正式记录用户登陆状态的文件

   

使用Django ORM操作数据库数据

  新增数据

      两种方式:    第一种方式

         1  user_obj=model.User.object.create(name=username,password=password)

          第二种方式

         2  user_obj=model.User(name=username,password=password)

          user_obj.save()          

  查询数据
 
    user_list = models.User.objects.all()  # 获取user表所有的数据
    # 只要是QuerySet就可以点query查看获取到当前QuerySet对象的内部sql语句
    print(user_list.query)

    查询数据的时候注意获取的对象是一个queryset对象还是以一个数据对象

    user_query=models.User.objects.filter(id=edit_id).first # 使用first取出的就是一个数据对象了。

    #  当filter当匹配的条件不存在的时候,返回一个空的queryset对象。

      <QuerySet []> <class 'django.db.models.query.QuerySet'>

    user_obj = models.User.objects.get(id=edit_id)  # 用get可以直接获取到数据对象本身但是查询条件不    存在的情况下直接报错

  删除数据
    models.User.objects.filter(id=1).delete()  # 会将queryset所有的数据对象全部删除

研究GET 与POST请求的差别

  GET是请求,如果请求类型是GET,说明用户只想获取某项资源,所以我们将用户需要的资源响应给他就好。

  POST是提交,如果是POST请求,说明用户需要向服务器提交数据,服务器就要准备接收用户提交的数据,此时POST模式和GET模式都可以传输用户的数据,但是区别在于,POST更安全,所以此时应该选择POST。在一些不需要考虑数据安全的情况下可以使用GET模式传输数据。例如获取用户ID时。

  requeset.method 可以拿到两种请求方式,可以使用 request.POST / request.GET 的方式分别获取到请求数据的结果,数据形式是一个字典,该字典是 QueryDict 类型,可以通过对象点方法取获取到相应的value,也可以使用get()方法取值。

如果从前端提交的数据,在同一个key里包含多个值的情况(< QueryDict: {'username': ['jason',‘egon’], 'password': ['123']} >),需要使用getlist()方法才能取出全部的结果,如果是使用get()方法只能取到最后一个value。

  注意POST是提交数据,在HTML中只有 form表单中的 submit 和 botton 是有提交数据效果的。

通过Django 生成图书管理系统表

Web框架实现的最基础的流程图

Django—链接MySQL的更多相关文章

  1. Django 链接MySQL及数据操作

    Django 链接MySQL Django创建的项目自带的数据库是SQLite3,我们想要链接MySQL的话,需要更改settings.py中的配置 1.在MySQL中创建好数据库,Django项目不 ...

  2. Django链接MySQL,数据库迁移

    form表单默认是以get请求提交数据的 http://127.0.0.1:8000/login/?username=admin&password=123 action 1 不写,默认向当前地 ...

  3. 搭建Django链接MySQL流程(python2版)

    之前生成选型python3,除了用的python3的pymysql模块之外其他的都是一样的. 1.首先搭建mysql(Mariadb)数据库(单点)         安装方式分为yum安装,rpm包安 ...

  4. Django链接Mysql 8.0 出现错误(1045:Access denied for user 'root'@'localhost' (using password: NO) 的一种解决方法

    运行环境: Django版本2.0 ; Mysql 版本 8.0.11; 错误代码:  django.db.utils.OperationalError: (1045:Access denied fo ...

  5. Django 链接mysql

    第一步:settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'testdjango ...

  6. Django链接mysql数据库报错1064

    D:\PycharmProjects\autotest>python manage.py makemigrations django.db.utils.ProgrammingError: (10 ...

  7. django——django链接mysql数据库

    1.创建项目 django-admin startproject django_mysql 2.创建App python manage.py startapp app1 3.Mysql数据库配置 (1 ...

  8. HttpResponse,render,redirect,静态文件配置,request对象方法,pycharm连接MySQL,django连接MySQL,django ORM

    HttpResponse 主要用于返回字符串类型的数据 def index(request): return HttpResponse('index页面') 在页面中就会显示 index页面 rend ...

  9. Ubuntu中部署Django项目的配置与链接MySQL

    Django的简介 MVT模式的介绍创建项目的虚拟环境 本次使用的是pip安装 一.更新 sudo apt update 二.安装pip sudo apt install python3-pip 三. ...

随机推荐

  1. pyenv-virtualenv环境搭建

    搞了个新服务器,搭个python环境 安装pyenv 直接上懒人脚本,不怕麻烦想手动装的就麻烦您自己查吧~ curl -L https://raw.githubusercontent.com/yyuu ...

  2. 子序列 NYOJ (尺取法+队列+hash) (尺取法+离散化)

    子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 给定一个序列,请你求出该序列的一个连续的子序列,使原串中出现的所有元素皆在该子序列中出现过至少1次. 如2 8 ...

  3. [poj3974]Palindrome_Manacher

    Palindrome poj-3974 题目大意:求字符串的最长回文子串. 注释:$1\le strlen(s) \le 10^6$. 想法:介绍一种字符串算法——Manacher.求以每一个字符和字 ...

  4. SharePoint 2013:解决爬网出错的问题

    现象: 以前一直正常的爬网突然无法顺利完成,总是在进行到某个部分就停滞不前. 调查: 在查看了log文件后,发现了这条错误 06/24/2014 11:14:51.86   NodeRunnerQue ...

  5. JS推断是否为JSON对象及是否存在某字段

    $.ajax({ type: 'POST', url: url, success(function(data){ //推断是否为JSON对象 if(typeof(data) == "obje ...

  6. SEO优化之外链的末日来临

    告诉大家一个好消息,以后不用再为外链的事情发愁了.难道是有好的外链工具?不是,而是百度已经取消外链了. 今天在百度上看到一篇文章:"SEO春天来了.百度取消外链".点击进去一看,吓 ...

  7. http自己定义超时检測方法、主动抛出异常

    上次为了解决无网路由器超时的问题,将问题重心转移到了HttpClient. HttpUrLConnection上面,什么各种设置ReadTimeout. connectionTimeOut,还有所谓的 ...

  8. 使用memcachedclientXmemcached与Spring整合

    1 简单介绍 Xmemcached是一个高性能的基于java nio的memcachedclient.在经过三个RC版本号后.正式公布1.10-final版本号. xmemcached特性一览: 1. ...

  9. 启动VIP报CRS-1028/CRS-0223致使VIP状态为UNKNOWN故障分析与解决

    CRS版本号为10.2.0.4 1.VIP State为UNKNOWN [root@XXdb1 ~]# crs_stat -t Name           Type           Target ...

  10. IE6、IE7的兼容问题

    通常,网页的兼容问题,就是IE6\IE7的问题.表现为错位.换行,不支持CSS3等. 而其中,错位.换行,原因往往在于没有指明元素的width.height. 一般银瓦不告诉他.