• django笔记


    1,建站步骤:
    1)django-admin.exe startproject mysite
    创建完后的目录结构:
    - mysite # 对整个程序进行配置
      - init
      - settings # 配置文件
      - url # URL对应关系
      - wsgi # 遵循wsgi规范,处理soceket的规范,一般用uwsgi
    - manage.py # 管理django程序,例如runserver,startapp,makemigration,migrate
    备注:如果不是pycharmproject根目录下建站点,import会被pycharm提示飘红

    2)mysite/ python3 manage.py runserver 127.0.0.1:8001,地址和端口号不打默认是127.0.0.1:8000,或者 pycharm打开mysite运行

    3)mysite/ python3 manage.py startapp app01
    app目录:
    - migrations # 数据库相关的操作,这里会生成相关的数据库操作记录
    - init # python2文件夹必须有个init(from … import…,python2会认为文件夹而报错,只有含init文件时Python2才能导入,python3可以没有init)
    - admin # django提供的后台管理程序
    - app # 配置当前app
    - models # 创建数据库表,ORM,写指定的类,通过命令就可以创建数据库结构
    - test # 开发交
    - views # 和app01相关的所有业务,主要写业务逻辑代码,例如主机管理,防火墙管理

    4)建文件夹:templates,static,upload, models

    5)settings:TEMPLATES(添加项目),STATICFILES_DIRS(新增),MIDDLEWARE(注释掉),INSTALLED_APPS(添加项目),DATABASES(修改)
    i,TEMPLATES # 模板路径,用render打开网页时需要修改TEMPLATES下的参数(注意render不能使用相对路径)
      'DIRS':[os.path.join(BASE_DIR, 'templates')]
    ii,STATICFILES_DIRS # 静态目录,需新增该参数,静态网页包括例如css,js
      STATICFILES_DIRS= (
      os.path.join(BASE_DIR, 'static'),
      )
    iii,MIDDLEWARE
      middleware.csrf.CsrfViewMiddleware # 注释掉,表单提交到login不会报csrf错
    iv,INSTALLED_APP
      添加'app01' # 用于数据库连接
    v,DATABASES # 改为mysql连接
      DATABASES = {
          'default': {
          'ENGINE': 'django.db.backends.mysql',
          'NAME':'dbname', # 数据库名,这个django无法创建,得先自己创建
          'USER': 'root',
          'PASSWORD': 'xxx',
          'HOST': '',
          'PORT': '',
          }
      }

    6)urls和app01/views中需要导入的模块
      urls:
      from django.conf.urls import url
      import app01.views

      app.views:
      from django.shortcuts import HttpResponse
      from django.shortcuts import redirect
      from django.views import View
      import os

    2,django的流程
      客户端 —> 路由系统(urls)—> app.views —> templates、静态目录、数据库

  • 相关阅读:
    @Value注释失效
    405不支持post请求
    AutoComplete="off"取消input记住之前输入过的内容
    maven解决架包冲突
    HTTP请求中 request payload 和 formData 区别?
    图片视频预览直接将请求下载的url(返回为流)操作和显示
    vue标签属性拼接变量的写法
    计算机中丢失MSVCP120.dll,Photoshopcc2017无法启动(免安装,绿色版本)
    element--循环多个表单,保存和重置怎么办?
    vue---局部刷新和刷新页面的
  • 原文地址:https://www.cnblogs.com/guxh/p/9664909.html
Copyright © 2020-2023  润新知