zoukankan      html  css  js  c++  java
  • 启动Django前的配置文件操作及form表单操作

    新创建的app一定要先去settings.py注册

    INSTALLED_APPS = [
                    'django.contrib.admin',
                    'django.contrib.auth',
                    'django.contrib.contenttypes',
                    'django.contrib.sessions',
                    'django.contrib.messages',
                    'django.contrib.staticfiles',
                    # 'app01'  # 简写
                    'app01.apps.App01Config'  # 全称
                ]

    html文件默认全都放在templates文件夹下
    对于前段已经写好了的文件 我们只是拿过来使用 那么这些文件都可以称之为叫"静态文件"
    静态文件可以是

      图片(img)

        css

      js

      类似于bootstrap一类写好的  前端框架

    静态文件默认全都放在static文件夹下
      static文件夹中默认会默认创建的子文件夹
        css文件夹 当前网站所有的样式文件
        js文件 当前网站所有的js文件
        img文件 当前网站所有的图片文件
        其他(前端框架代码 第三方插件代码...)

    我们需要手动添加静态文件路径

    STATIC_URL = '/static/' 
    '''
    并不是文件路径,而是浏览器想要访问静态文件,必须以这个为前缀
    '''

    我们在模块文件夹下写html文件是,需要下面这张写法导入静态文件

        <link rel="stylesheet" href="/xxx/bootstrap-3.3.7-dist/css/bootstrap.min.css">
        <script src="/xxx/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>

    为了防止以后更改静态文件前缀

    我们统一将html导入静态文件 写成    

     {% load static %}  # 动态解析静态文件前缀
        <link rel="stylesheet" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.min.css' %}">
        <script src="{% static 'bootstrap-3.3.7-dist/js/bootstrap.min.js' %}"></script>

    启动ddjango项目的时候 一定要确保一个端口号只有一个django项目在占用
    不然的话 会容易造成bug

    用户可以访问的资源 都在url中
    只有url中开设相关的资源你才能访问到(******)

    form

    form表单默认是get请求

    get请求会在url路径后面添加get请求数据

    http://127.0.0.1:8000/login/?username=zekai&password=123

    可以通过method改为post请求
    改成post请求之后 需要去settings文件中注释掉一个中间件

    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',
            ]

    form表单提交数据目的地由action
      1.不写的情况下 默认往当前地址提交
      2.还可以写后缀/index/(将项目常用这种)
      3.还可以写全路径

    获取前端数据

    request.method获取请求方法
            
            对数据的处理 不单单只有wsgiref模块  django后端也进行了大量的数据处理
            GET
                request.GET获取前端get提交的数据(就类似于是一个大字典)
                取值
                    request.GET.get('username')  # 虽然value是一个列表 但是默认只取列表最后一个元素
                    # 强烈不建议你使用中括号的形式取值
                    
                    # 如果想直接把列表全部取出(******)
                    request.GET.getlist('hobby')
            POST
                request.POST获取前端post提交的数据(就类似于是一个大字典)
                取值
                    request.POST.get('username')  # 虽然value是一个列表 但是默认只取列表最后一个元素
                    # 强烈不建议你使用中括号的形式取值
                    
                    # 如果想直接把列表全部取出(******)
                    request.POST.getlist('hobby')

    pycharm链接数据库

    第一步:

    第二步:第一次链接数据库 需要下载驱动

     注意:

    mysql因为版本问题 会有两个驱动文件,第一个不行就试试第二个

     第三步:

    输入用户名,密码和要连接的库名

     第四步:

    点下下面的测试按钮,成功再按apply和ok

    Django链接数据库

    django默认使用的是自带的sqlite数据库  
            如果你想让它其他的数据库  需要在settings配置文件中 配置
            1.settings文件中配置
                    DATABASES = {
                'default': {
                    'ENGINE': 'django.db.backends.mysql',
                    'NAME': 'day51',
                    'HOST':'127.0.0.1',
                    'PORT':3306,
                    'USER':'root',
                    'PASSWORD':'123',
                    'CHARSET':'utf8'
                }
    }
            2.还要在项目名下的init文件或者是应用名下的init文件中告诉django不要使用默认的mysqldb连接mysql
            而是使用pymysql
                import pymysql
                pymysql.install_as_MySQLdb()
  • 相关阅读:
    two pointers思想 ---- 利用两个i, j两个下标,同时对序列进行扫描,以O(n)复杂度解决问题的一种思想
    二分法
    区间贪心
    error C2825: '_Iter': 当后面跟“::”时必须为类或命名空间 -- 原因可能是参数错误或者自定义函数名和库函数名冲突
    模态窗口的定时关闭
    数据结构(二十二)二叉树遍历算法的应用与二叉树的建立
    数据结构(二十一)二叉树的非递归遍历算法
    数据结构(二十)二叉树的递归遍历算法
    数据结构(十九)二叉树的定义和性质
    数据结构(十八)树的定义与存储结构
  • 原文地址:https://www.cnblogs.com/asdaa/p/11529041.html
Copyright © 2011-2022 走看看