Django项目开始的基本配置

首先我们先了解的知识 - 用户能够访问的所有资源,都是程序员提前暴露好的

如果没有暴露,用户就永远访问不了

django是可以自动重启的,但是有时候反应速度比较慢,也有可能在你代码没写完的时候重启了,会报错,但是不用管

三板斧

导入模块
from django.shortcuts import render,HttpResponse,redirect

render

  • 返回html页面

HttpResponse

  • 返回html页面

redirect

  • 重定向

静态文件配置

静态文件-第一步

网站所要用到的

  • 自己写好的js
  • 自己写好的css
  • 第三方框架bootstrap,font-awesome,sweetalert

通常情况下,网站所用到的静态文件,统一的都放在static文件夹下

1. setting.py

STATIC__URL = '/static/'        # 是访问静态资源的接口前缀
"""
只要你想访问静态资源,你就必须以static的接口前缀
"""
# 手动配置静态文件访问资源
STATICFILES_DIRS = [
    os.path.join(BASC_DIR,'static')
]
1. 写在html中导入js,css的动态解析语句
静态文件, 动态加载

{% load static %}   -- 翻译: 装入静态文件
<link rel="stylesheet" href="{% static 'bootstrap/css/bootstrap.min.css' %}"
<script scr="{% static 'bootstrap/js/bootstrap.min.js' %}"></script>

form表单-第二步

action:

  • 不写 默认朝当前地址提交
  • 只写后缀/index/
  • 写全路径

method:

  • 表单默认的提交方式是get请求
  • get请求方式携带的参数是在url后面
    • 缺点:1. 不安全 2. get请求携带的参数有大小限制
  • post请求是相对安全的的

学习前期使用post请求如果要提交post请求,有两种方法:

  • 直接去settings.py文件中注释掉一个中间件

    MIDDLEWARE = [

    ' django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware', - 需要注释
    ​ 'django.contrib.auth.middleware.AuthenticationMiddleware',
    ​ 'django.contrib.messages.middleware.MessageMiddleware',
    ​ 'django.middleware.clickjacking.XFrameOptionsMiddleware',

    ]

  • 在html文件中,

    标签下面添加模块语法 {% csrf_token %}

服务端request对象及方法处理浏览器提交的数据-第三步

  • 获取post请求携带的数据 - request.POST.get- (默认只取最后一个元素)

  • 获取post请求携带的参数列表 - request.POST.getlist- (返回的是一个列表套对象)

  • 获取get请求携带的参数 - request.GET.get - (默认只取最后一个元素)

  • 获取get请求携带的参数列表 - request.GET.getlist - (返回的是一个列表套对象)

get和post在后端获取用户数据的时候,规律是一样的

django连接数据库 - 第四步

  • 第一步: 配置文件中配置

    1. settings.py
    DATABASES = {
        'default':{
            'ENGINE': 'django.db.backends.mysql', # 指定数据库为mysql
            'NAME': 'db_name', # 指定到底是哪一个数据库
            'USER': 'root',
            'PASSWORD':'123',
            'HOST':'128.0.0.1',
            'PORT':3306,
            'CHARSET':'utf8'   # 这里不可以写utf-8,会报错
        }
    }
    
  • 第二步:

    django默认使用的是mysqldb连接数据库,但是该模块不支持了,所以你要告诉django不要用musqldb,应该用pymysql
    
    你可以在项目名下面的__init__.py也可以在应用名下面的__init__.py文件下面指定
    import pymysql
    pymysql.install_as_MySQLdb()
    

django orm简介

orm对象关系映射

类 - 数据库中的表

对象 - 表的记录

对象获取属性 - 记录的某个字段对应的值

优点: 能够让一个不会操作数据库的人,也能简单快捷的去使用数据库

缺点: 由于封装程度太高,可能会导致程序执行效率偏低,有时候,集合项目需求,可能也会需要手写sql语句

注意事项:

			1. django的orm不会自动帮我们创建库, 库需要我们自己手动创建
			2. 表会自动的帮忙创建,只需要书写符合django orm语法的代码即可

那么我们会去app所在的models.py文件夹下去书写符合django orm语法的代码

models.py中的orm书写格式

1. models.py

from django.db import models

class User(models.Model):
    # 设置id为主键 - AutoField:主键专用
    id = models.AutoField(primary_key=True) 
    # 设置username字段为64位的字符型
	username = models.CharField(max_length=64)
	# 设置phone为数值型
    phone = models.IntegerField()

数据库迁移命令

  • 方式一:cmd命令
python.manage.py makemigrations # 并不会创建表,只是把当前的操作记录下来(miggrations)
python.manage.py migrate # 将orm语句真正迁移到数据库中,也就是创建表
  • 方式二:
  Tools -> Run manage.py Task... (快捷键:ctrl+alt+R)
  -> 在下方弹出来的控制台中输入 -> makemigrations -> migrate

注意: 只要在models.py中修改了跟数据库相关的代码,就必须再执行上面的两条命令

posted @ 2019-10-21 20:26  cheerxiong  阅读(196)  评论(0编辑  收藏  举报