App

创建一个app :

python manage.py startapp app01

admin:

from django.contrib import admin

# Register your models here.

apps:

from django.apps import AppConfig

class App01Config(AppConfig):
name = 'app01'
models.py结合与ORM相关:
from django.db import models

# Create your models here.
test是单元测试用:
from django.test import TestCase

# Create your tests here.
views写视图函数:
from django.shortcuts import render

# Create your views here.

settings-apps:

INSTALLED_APPS = [
'django.contrib.admin', #系统内置app
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"app01.apps.App01Config", #手动注册app
]
apps-config-ready方法重写:
from django.apps import AppConfig

class App01Config(AppConfig):
name = 'app01'
def ready(self):
print("aaa")
ready方法重写:Tools-run manage.py Task:

导入视图函数里面的功能:

from app01 import views
模块点功能:
urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^index/', views.index),
url(r'^modal/', views.modal),
url(r'^login/', views.login),
]

form表单提交数据:

  1. form的属性 method='post' action='地址'

  2. input框要有name属性 option要有value值

  3. 要有一个button按钮或者 input type=‘submit’

提交POST请求注释一个中间件

 MIDDLEWARE = [
   
     # 'django.middleware.csrf.CsrfViewMiddleware',   # 注释掉可以提交post请求
   
 ]

ORM

对象关系映射

Django使用MySQL数据库的流程:

  1. 创建一个MySQL数据库;

  2. 配置settings

     DATABASES = {
         'default': {
             'ENGINE': 'django.db.backends.mysql',
             'NAME': 'day43',
             'HOST': '127.0.0.1',
             'PORT': 3306,
             'USER': 'root',
             'PASSWORD': '123',
        }
     }
  3. 替换模块

     import pymysql
     pymysql.install_as_MySQLdb()
  4. 创建表

     class User(models.Model):
         username = models.CharField(max_length=32)  # varchar(32)
         password = models.CharField(max_length=32)  # varchar(32)
  5. 执行数据库迁移的命令

    python manage.py makemigrations # 制作迁移文件

    python manage.py migrate # 执行SQL语句 同步迁移

ORM的操作:

all

 models.User.objects.all()  # 获取所有的数据

get

 models.User.objects.get(password='dsb')  # 对象 特点 获取不到或者获取到多个都报错

filter

 models.User.objects.filter(password='dsb')   # 对象列表

create

 obj = models.Publisher.objects.create(name=pub_name)

delete

 models.Publisher.objects.filter(pk=pk).delete()  # 对象列表
 models.Publisher.objects.get(pk=pk).delete()  # 对象

更新

 obj.name = pub_name  # 内存中修改属性
 obj.save()   # 提交保存
 ​
 models.Publisher.objects.filter(pk=pk).update(name=pub_name)

django框架创建app及使用、的更多相关文章

  1. 如何使用Python的Django框架创建自己的网站

    如何使用Python的Django框架创建自己的网站 Django建站主要分四步:1.创建Django项目,2.将网页模板移植到Django项目中,3.数据交互,4.数据库 1创建Django项目 本 ...

  2. pythonWeb框架创建app模块以及虚拟环境管理工具

    在进行项目搭建的时候,如果有多个功能模块,以及多个网页地址时,为了系统的可维护性,以及易读性,我们大多数情况下选择模块化开发 所以我们就要使用app指令来创建不同的功能模块 首先项目框架如下: 接下来 ...

  3. url路由、模板语言、ajax、用django框架创建表

    1.后台管理的左侧菜单,默认只有第一个页签下面的选项是显示的,点了别的页签再显示别的页签下面的选项,问题是:点了任何菜单的选项后,左侧菜单又成了第一个页签的选项显示,别的页签隐藏,也就是左侧的菜单刷新 ...

  4. Django框架创建数据库表时setting文件配置_模型层

    若想将模型转为mysql数据库中的表,需要在settings中配置: 一. 确保配置文件中的INSTALLED_APPS中写入我们创建的app名称-->bms INSTALLED_APPS = ...

  5. Python Web开发:使用Django框架创建HolleWorld项目

    开发环境搭建 Python环境安装 下载地址:https://www.python.org/downloads// Django安装 打开Windows CMD输入pip install django ...

  6. Django 2 创建app

    python manage.py startapp polls 创建model 创建完model以后使用 查看sql python manage.py sql polls 然后使用 python ma ...

  7. Django之jango框架 及 APP

    Django框架 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器 ...

  8. Django创建App报错

    在django下创建APP项目时遇到的坑 python manage.py startapp app01 报错内容如下: 解决:找到报错中的文件夹151行删除items(),)中的逗号即可 在命令行下 ...

  9. Django 框架介绍

    Django 框架介绍 MVC框架和MTV框架 简单了解一下什么是MVC框架.MVC(Model View Controller),是模型(model)-视图(view)-控制器(controller ...

随机推荐

  1. 使用sessionStorage获取值和设置值

    <body><button id="btn1">设置值</button><button id="btn2">获取 ...

  2. AtCoder Beginner Contest 140

    传送门 A - Password 输出\(n*n*n\)即可. Code #include <bits/stdc++.h> using namespace std; typedef lon ...

  3. axios使用get方法给后端传值,登录功能的实现

    前端使用vue实现页面,使用axios进行前后端交互 后端使用node.js提供接口 数据库使用navicat for mysql 前端代码:(组件中使用axios前后端交互) import axio ...

  4. 算法设计与分析 2.5 Joyvan的难题

    ★题目描述 Joyvan最近遇到了一个难题,对于一个包含 N个整数的序列a1,a2,--,aN,定义:f(i,j)=(j-i)2+(j∑k=i+1 ak)2 现在Joyvan想要你帮他计算所有 f(i ...

  5. 题解:SPOJ1026 Favorite Dice

    原题链接 题目大意 给你一个n个面的骰子,每个面朝上的几率相等,问每个面都被甩到的期望次数 题解 典型的赠券收集问题. 我们考虑当你手上已有\(i\)种不同的数,从集合中任选一个数得到新数的概率,为\ ...

  6. 洛谷 P5639 【CSGRound2】守序者的尊严

    洛谷 P5639 [CSGRound2]守序者的尊严 洛谷传送门 题目背景 由于Y校最近进行了对学校食堂的全面改革与对小卖部的全面整治(乱搞),导致学校小卖部卖的零食被禁售了:学校食堂的炸鸡窗口也消失 ...

  7. #undef常用法

    Copy from C语言中#undef的语法是: #undef 标识符 用来将前面定义的宏标识符取消定义. 整理了如下几种常见用法,如果以后发现其他的再添加进来. 1.在一个程序块中用完宏定义后,为 ...

  8. vue表格合并行的一个实例

        一.element控件实现 在平常的应用中,需要用到合并单元格的操作,在Excel中,这种操作很好实现,但在实际项目中,常常需要借助element控件来实现. 下面是element中的一个实例 ...

  9. Linux 学习记录三(Vim 文书编辑器).

       所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器不一定存在,vim是vi的升级版,具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计.vim 里面加入了很 ...

  10. VSCode中代码在浏览器中打开及实时刷新

    实时刷新方法一: 在项目目录下运行命令: browser-sync start --server --files "**/*.css,**/*.html,**/*.js" 实施刷新 ...