zbcaicai 2019-12-28
框架模式mvc
m--》model 数据库
v--》view 视图
c--》controller 控件逻辑
mtv(django)
t--》templats 视图
v--》view 控件逻辑
html展示逻辑
1.必须先有一个HTML模板
2.建一个视图,实现html逻辑的地方,views.py文件中
3.最后配置url对应的哪个视图,urls.py文件中
// 允许携带cookie访问我。# 添加 django-cors-headers 使其可以进行 cors 跨域。# 放在中间件第一个。# CORS跨域请求白名单设置。 if name == ‘zhangsan‘ and pwd == ‘123456‘:
在命令行模式下,进入上一步创建的项目目录demo下,里面包括同名子目录demo和manage.py文件,执行以下命令添加一个APP,名字为blog. 恭喜我们自己吧,成功创建了一个Django项目,下面就可以继续Python的学习和Django框架的探索了
# python manage.py rebuild_index #数据库有多少条数据,全部会被同步到es中。object = BookSerializer # 只读,不可以进行反序列化。fields = # text 由索引类进行返回, object
仔细再看报错,Django TypeError: ‘set‘ object is not reversible 是obj的TypeError. 定位到urls.py里,项目(或应用)中的ruls.py文件把urlpatterns列表的[]写成了{}。字典是
自增列,可以将其理解为ID主键字段,注意的是必须填入参数 primary_key=True当model中如果没有自增列,则自动会创建一个列名为id的列?整形字段,围在 -2147483648 to 2147483647。字符字段,必须提供max_lengt
from django.shortcuts import render,redirect # 模板渲染。from django.http import JsonResponse,HttpResponse # 返回response对象。from djan
windows: 需要将下图中的路径添加到系统环境变量,就可以通过django-admin创建django项目,并且django项目应用的就是python36的解释器。# 通过执行manage.py文件来创建应用,执行这个文件,需要在manage.py所有
pip3 install django-multi-captcha-admin django-simple-captcha # 可以直接安装两个模块。‘engine‘: ‘simple-captcha‘,
learning_log$ pip install Django 执行该命令,始终报错,如上图
3,然后在末尾加入下方代码,然后保存。4,在终端运行:。5,接着便可以下载了:
js、css、img等都叫做静态文件,那么关于django中静态文件的配置,我们就需要在settings配置文件里面写上这写内容:。os.path.join, #注意别忘了写逗号,第二个参数就是项目中你存放静态文件的文件夹名称。{% load static
name=‘红旭妹妹2‘,更新 update方法 model对象不能调用更新方法 报错信息‘Student‘ object has no attribute ‘update‘。#<QuerySet [<Student: Student obje
2.配置:。
在Django中如何使用Redis. 在utils下建立redis_pool.py文件。在视图函数中使用。django默认不支持redis缓存。完成上述配置后,之后所有的缓存都存到redis中。# 方式一 直接使用django的cache
普通用户注册后通过前台页面登录,进行浏览、查询、借书、还书等操作。图书馆管理员通过后台管理界面登录,可直接对数据库进行增删改查操作。如果逾期,则还需要缴纳罚金。控制器与用户进行交互,并提供模型数据至视图,实现数据与逻辑的解耦。登录视图,获取用户名和密码进行
-Ajax全部操作在一个html页面执行,对于之前的Ajax操作中事件的发生于其对于的联系方式相关,思路上首先都在思考编写模板内容部分,然后在是函数的执行 。 - 使用 id = ‘事件名’ 与其对应的是 <script> $.
class RegForm: user = forms.CharField() pwd = forms.CharField(). 一个功能的form组件是一个类,这个类必须继承forms中的Form类; 这个类内部定义的成员变
#exact为精确值,id=1为id__exact=1的常用简写形式。 #gte表示大于等于,great equal 的缩写
为了成为一个可用的标签库,这个模块必须包含一个名为register的变量,它是template.Library 的一个实例,所有的标签和过滤器都是在其中注册的。所以把如下的内容放在你的模块的顶部:。result = "<input type
{% if %} 标签不允许同一标签里同时出现and和or,否则逻辑容易产生歧义,例如下面的标签是不合法的:。#系统不支持中断循环,系统也不支持continue语句,{% for %}标签内置了一个forloop模板变量, 而forloop.counte
今天重新复习了一下如题目所列的内容,下面来逐个说一下。 一、先说一下HttpRequest对象的一些属性,也就是我们在views的函数中的必写参数req的属性。 method:请求中使用的HTTP方法的字符串表示。 render_to_res
经过这些步骤就能得到一个具备完整的后端接口和后台管理界面的网站了,如果写了template的话还能把前端的工作也做了。接下来按照上面提到的顺序记录一下我的开发实践。好像没啥好说的,Django3多了几个新的特性,可以用class来定义choices,这个比
当我们在开发django应用时如果设置了 DEBUG = True,那么django便会自动帮我们对静态文件进行路由;但是当我们设置DEBUG = False后,这一功能便没有了,此时静态文件就会出现加载失败的情况,想要让静态文件正常显示,我们就需要配置静
命令窗口或使用pycharm的Terminal命令行输入:django-admin startproject mysite#项目名是mysite,创建成功以后使用pycharm打开这个project. ├── manage.py# 管理程序的文件,启动和结
virtualenv 环境名称 --python=‘c:\python\python3.7.exe‘。> cd Scripts #进入虚拟环境Scripts目录。让gitee忽略一些文件.gitignore. git commit -m ‘第一次提交
保持工程和数据库之间的一致性。这是一个具有挑战性的任务,特别是数据库管理员和web开发者交流不畅的情况下,可能会存在一些问题。如果数据库还有其他作用的时候,建议将web所用的数据库独立出来,不要共用,非常危险!!如果数据库是现有的,如何自动生成models
django-admin startproject 项目名称 python manage.py startapp 应用 app 名。项目文件夹下的组成部分: manage.py 是项目运行的入口,指定配置文件路径。_init.py 是一个空文件,作用
1)ORC模型其实就是一个类,必须继承models.Model。2)类名代表表名,类属性代表字段名。7)可以查看database,生成对应的表,id列自动生成;9)修改表名后需要重新执行5-6步骤;
如果想按条件过滤掉某些数据,用filter方法。但如何表示“不等于”这个概念呢?
publish = models.ForeignKey #foreignkey(表名)建立的一对多关系。def __str__: #__str__方法使用来吧对象转换成字符串的,你返回啥内容就打印啥。跨表查询需要使用两个下划线来链接间关联字段的名称,直
登录的账户信息会存在auth_user表中,session会存在django_session表中
直接在项目根目录下创建templates目录,如果是通过Django方式创建的项目会自带该目录,无需创建。第三个参数为context,只能传字典,这里可以使用locals()函数,它能将当前命名空间中的所有变量信息,存放在一个字典中
在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等。比如,区别于Django中的request从request.GET中获取URL参数,从request
<link rel="stylesheet" href="{% static ‘libs/bootstrap-table-master/bootstrap-table.css‘ %}">
纸上得来终觉浅,绝知此事要躬行。之前在DRF源码分析之五大模块文章中没有讲到认证模块,本章就主要来谈谈认证模块中的三大认证,首先我们先回顾一下DRF请求的流程:。之后在APIView中调用父类as_view(),并且在闭包中调用了dispatch()方法,
前文已经提到,网站所用到的静态资源等,是存储在static 文件夹下的。直接硬编码像/static/lxx.jpg这样;在/static/目录下存放静态文件。总结起来,基本配置就是这几点。为了前端页面能使用到这些资源,需要走以下的步骤:。filename
大部分的解析工作都是在后台通过对简短正则表达式一次性调用来完成。这和基于 XML 的模板引擎形成鲜明对比,那些引擎承担了 XML 解析器的开销,且往往比 Django 模板渲染引擎要慢上几个数量级。# html="<html><
django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息。返回HttpResponse时会失效。#国内用不了的话可以在settings.py中配置一下,例如:。# 开发环
django的admin后台管理系统提供了功能强大的后台管理功能,为每一张表提供了增删改查操作。注册到admin中的表默认的名字是模型表的类名加字母s,复数的意思,如model.py中的UserInfo表注册到admin.py后,在admin后台管理系统中
一些使用中遇到的问题。
当一个文件夹下文件比较多的时候 你还可以继续创建文件夹分类处理。有两个需要注意的问题。应该先想办法获取到当前页面的文本内容之后截取150个文本字符。针对支持用户直接编写html代码的网址。针对用户直接书写的script标签 我们需要处理。针对1 后端通过正
django默认sqlite3,我使用mysql,于是要在settings.py中配置一下,内容大致如下。‘PASSWORD‘: ‘123456‘,
之前我们用到的参数request就是HttpRequest 检测方法:isinstance. # method: 请求中使用的HTTP方法的字符串表示。# 服务器收到空的POST请求的情况也是可能发生的,也就是说,表单f
Django 中间件是用来处理Django的请求request和响应response的框架级别的钩子,它是一个轻量,低级别的插件系统,用于全局范围内改变Django的输入,输出。每个中间件组件都负责做一些特定的功能。 process_requ
Django的ORM中存在查询集的概念。查询集,也称查询结果集、QuerySet,表示从数据库中获取的对象集合。filter():返回满足条件的数据。order_by():对结果进行排序。对查询集可以再次调用过滤器进行过滤,也就意味着查询集可以含有零个、一
<p>爱好<input type="checkbox" name="hobby" value="1">篮球。 1.当我们启动127.0.0.1/register,此时
可以看到在Django2下生成了一个文件manange.py和一个目录Django2\Django2,目录下有几个python文件。__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。settings.py:该 Dja
在IDEA中创建个Django项目,打开已安装的包,发现Django版本已经是2.4,没有该漏洞了,于是修改一下,这里因为python2 是不支持Django,2.x版本的,所以这里用的python3,其实IDEA中venv很好配置。alter user
视图类在最先继承的时候是继承Django框架提供的View类,之后是restframework中提供了APIView类,这个是直接继承了View类,APIView的基本使用以及流程,前几篇已经做过描述。接下来会定义一个继承GenericAPIView父类的