1 django中app的概念

大学:----------------- 项目
信息学院 ----------app01
物理学院-----------app02
*强调:创建了app,要在配置文件中注册
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01',
]

2 模板路径配置

1 templates文件夹
2 settings里注册一下

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates'), ]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

3 静态文件配置

1 STATIC_URL = '/static/' 一般不要改
2 创建一个static文件夹 一般不要改
3 STATICFILES_DIRS=[
os.path.join(BASE_DIR, 'static'), 创建的文件夹路径(可以写多个)
]

STATIC_URL = '/static/' #这个static是网页后缀,跟文件夹名称没有一点关系,
然后会去DIRS里面一个文件夹一个的去找
STATICFILES_DIRS = [
# os.path.join(BASE_DIR, 'static'),
os.path.join(BASE_DIR, 'static'),//这是文件夹名称
# os.path.join(BASE_DIR, 'static3'),
]

4 完整版登录功能

1 login.html

***重点***1 action:提交到后台的地址三种写法:
1 http://127.0.0.1:8000/login
2 /login/ 推荐用
3 空
2 method post方式
3 <input type="submit" value="提交">或<button></button>
type不可以是button
<form action="http://127.0.0.1:8000/login" method="post">
<p>用户名:<input type="text" name="name" class="form-control"></p>
<p >
密码:<input type="password" name="pwd" class="form-control">
</p>
<input type="submit" value="提交">
</form>

2 视图层

1 request.method ----前台提交过来请求的方式
2 request.POST(相当于字典)----post形式提交过来的数据,(http请求报文的请求体中)
3 request.POST.get('name') ----推荐用get取值(取出列表最后一个值)
4 request.POST.getlist('name')-----取出列表所有的值_
5 前台get方式提交的数据,从request.GET字典里取 def login_view(request):
if request.method=='GET':
return render(request,'login_view.html')
elif request.method=='POST':
name=request.POST.get('name')
pwd=request.POST.get('pwd')
user=models.User.objects.filter(name=name,pwd=pwd).first()
if user:
return HttpResponse('<h1>登陆成功</h1>')
else:
return HttpResponse('<h1>用户名或密码错误</h1>')

3 链接数据库(防止注入,推荐以下写法)

cur.execute('select * from user where name=%s and password=%s ',[name,pwd])

5 get请求和post请求

get:获取数据,页面,携带数据是不重要的数据(数据量有大小限制)
post:往后台提交数据

6 新手三件套总结

1 render—返回页面
默认会去templates里找,注意路径
2 redirect—重定向
3 HttpResponse
本质:都是返回HttpResponse的对象

7 pycharm连接mysql

安装驱动 配置mysql数据库名称 用户名 密码 端口号进行连接
之后连接sqlite数据库

8 orm介绍

1 ORM即Object Relational Mapping,全称对象关系映射。

优点:
1 不用写sql,不会sql的人也可以写程序
2 开发效率高
缺点:
比sql的效率低

2 如何使用

1 如果连接mysql:在setting里配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',#驱动名称
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': 'admin',
'NAME': 'lqz',#数据库名称
}
}
在app下的__init__.py里写:
import pymysql
pymysql.install_as_MySQLdb()

2 在models.py文件中:

class User(models.Model):
# 自增int类型,是主键
id = models.AutoField(primary_key=True)
# name 是一个varchar类型,长度是32
name = models.CharField(max_length=32)
pwd = models.CharField(max_length=32)

3 在views.py中:
from app01 import models
def login_view(request):
if request.method=='GET':
return render(request,'login_view.html')
elif request.method=='POST':
name=request.POST.get('name')
pwd=request.POST.get('pwd')
user=models.User.objects.filter(name=name,pwd=pwd).first()
if user:
return HttpResponse('登录成功')
else:
return HttpResponse('用户名或密码错误')

3 django-orm

1 不能创建数据库(需要手动创建数据库)
2 可以创建数据表
3 可以创建字段

4 数据库迁移

1 python3 manage.py makemigrations ----记录一下数据库的变化
2 python3 manage.py migrate ----将变化同步到数据库中

django的orm介绍以及静态文件介绍的更多相关文章

  1. Django学习之十: staticfile 静态文件

    目录 Django学习之十: staticfile 静态文件 理解阐述 静态文件 Django对静态文件的处理 其它方面 总结 Django学习之十: staticfile 静态文件 理解阐述     ...

  2. 当Django中Debug=False,静态文件处理方式。

    Django设置DEBUG为False时,'django.contrib.staticfiles'会关闭,即Django不会自动搜索静态文件,静态文件不能加载导致的问题有两个: 1.页面排版不正常,即 ...

  3. django 项目运行时static静态文件不能加载问题处理

    一.首先检查网页中的加载路径是否正确,如果和文件所在路径不一致,就把html改下路径 二.加载路径和文件实际路径一致,看下配置文件: STATIC_URL = '/static/'STATIC_ROO ...

  4. Django(十七):静态文件、中间件

    一.静态文件 参考:https://www.cnblogs.com/jiajiaba/p/10584329.html 参考:https://docs.djangoproject.com/zh-hans ...

  5. Django基础,Day7 - 添加静态文件 static files

    添加css样式文件 1.首先在app目录下创建static文件夹,如polls/static.django会自动找到放在这里的静态文件. AppDirectoriesFinder which look ...

  6. django关闭debug后,静态文件的处理

    Django框架仅在开发模式下提供静态文件服务.当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供 ...

  7. django关闭DEBUG后 static静态文件都访问不了

    Django框架仅在开发模式下提供静态文件服务.当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供 ...

  8. 【解决方案】Django管理页面无法显示静态文件

    [问题描述]:Django管理界面无法获取页面的css样式文件.图片等静态文件.调试模式下看到静态url显示404. [问题原因]:跟踪源码可以发现,静态文件的url是由Django自带的app(dj ...

  9. Django 配置文件settings注解(含静态文件和上传文件配置)

    基于Django1.11配置文件settings.py import os import sys # Build paths inside the project like this: os.path ...

随机推荐

  1. SQL 2005 带自增列 带外键约束 数据导入导出

    1,生成建表脚本 选中要导的表,点右键-编写表脚本为-create到  ,生成建表脚本 2,建表(在新库),但不建外键关系 不要选中生成外键的那部分代码,只选择建表的代码 3,导数据,用SQL STU ...

  2. sublime中设置scala编译运行

    Attention: 前提.前提.前提:电脑上安装scala和jdk,可以在cmd中运行scala命令: okay,next: 1.配置内容 在Tools->Build Systems-> ...

  3. [Python]distributed 1.21.8 requires msgpack, which is not installed.

    个人博客原文地址:http://www.bearoom.xyz/2019/08/24/python-devolop-en-msgpack-problem/ 在安装tensorflow的时候,出现了这个 ...

  4. jQuery如何给DOM添加ID

    ID每个元素只能有一个,ID名同一页面也不能重复,addID方法是不需要的,和其他属性一样用attr方法就行了, $(singleTarget).attr('id','idName'); 更简单的 $ ...

  5. 取石子游戏(gcd)

    蒜头君和花椰妹在玩一个游戏,他们在地上将n颗石子排成一排,编号为1到n.开始时,蒜头君随机取出了2颗石子扔掉,假设蒜头君取出的2颗石子的编号为a, b.游戏规则如下,蒜头君和花椰妹2人轮流取子,每次取 ...

  6. c语言中常用的串运算

    调用标准库函数 #include<string.h> 串比较,strcmp(char s1,char s2) 串复制,strcpy(char to,char from) 串连接,strca ...

  7. 吴裕雄--天生自然python Google深度学习框架:图像识别与卷积神经网络

  8. Codeforces Round #316 (Div. 2) D计算在一棵子树内某高度的节点

    题:https://codeforces.com/contest/570/problem/D 题意:给定一个以11为根的n个节点的树,每个点上有一个字母(a~z),每个点的深度定义为该节点到11号节点 ...

  9. c语言中fflush的运用为什么没有效果呢,测试平台linux

    /************************************************************************* > File Name: clearing. ...

  10. 搭建rocketmq

    安装maven和java环境,此处省略.如果没有安装,请先安装maven和java环境!或者安装openjdk 首先下载rockermq官方地址:http://rocketmq.apache.org/ ...