精华内容
下载资源
问答
  • Django是什么,它都有什么用

    万次阅读 2019-04-17 22:41:43
    Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。 本文将以下方面带大家全面了解Django框架,笔者...

    Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。

    本文将以下方面带大家全面了解Django框架,笔者使用的版本为1.10.

    1. 流程

    2. 基本配置
    3. 路由系统
    4. 视图view
    5. 模板
    6. Model
    7. 中间件
    8. Form
    9. 认证系统
    10. CSRF
    11. 分页
    12. Cookie
    13. Seesion
    14. 缓存
    15. 序列化
    16. 信号
    17. admin

    一、 Django流程介绍

     

    MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中:
          M——管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)。
          C——接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模型”和“视图”隔离,并成为二者之间的联系纽带。
          V——负责把数据格式化后呈现给用户。

    Django也是一个MVC框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式:

        M 代表模型(Model),即数据存取层。 该层处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。

        T 代表模板(Template),即表现层。 该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。

        V 代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。

    展开全文
  • 这两天在用Django做个人博客网站,做起来非常顺手,已经在测试环境中完成了留言板的功能,想着在加上个管理博客和博客编辑的功能就大致可以发布出去了,然后就发现教程中个服务器部署的环节uWSGI+Nginx,我就郁了...

    这两天在用Django做个人博客网站,做起来非常顺手,已经在测试环境中完成了留言板的功能,想着在加上个管理博客和博客编辑的功能就大致可以发布出去了,然后就发现教程中有个服务器部署的环节uWSGI+Nginx,我就郁了闷了,本地不是有个WSGI吗,照样可以运行啊,不解,求解!

    uWSGI
    是一个web服务器,也可以当做中间件

    如果是Nginx+uWSGI+APP,那就是一个中间件
    如果是uWSGI+APP,那它就是服务器
    WSGI
    是一个Python专有的web协议 
    web协议的发展历程是(Python): 
    CGI>>FCGI>>WSGI>>uwsgi

    CGI:Common Gateway 
    Interface,通用网关接口,是一个协议,是外部应用程序(CGI应用程序)与web服务器之间的标准接口,该协议定义了web服务器调用外部应用程序的时候需要输入的参数和给web服务器的返回结果
    FCGI:很明显,就是比CGI更快的CGI。CGI的特点是对于一个HTTP请求就新建一个进程,等到应用程序返回结果后就结束这个进程,这就导致了如果有多个请求就会频繁的创建进程而产生很大的开销,影响服务器的性能。而FCGI就像MYSQL连接池一样,在服务器启动的时候就新建多个空闲的进程,当有请求的时候就分配给一个空闲的进程,这样就避免了频繁的创建进程而导致的大开销。FCGI的另一个特点就是支持分布式,也就是服务器和应用程序可以在不同的机器上
    WSGI:WEB SERVER GATESAY 
    INTERFACE,web服务器网关接口,它是Python专有的处理web服务器和应用程序的协议,像我现在使用的Django就自带这个,其中我们新建程序的时候有个wsgi.py就是一个WSGI兼容的web服务器的入口,在Python的很多框架中都自带这个协议,但是性能不好(我也不懂这个性能是指什么),只做测试用途
    uwsgi:这个是uWSGI中自有的一个协议
    Nginx
    Nginx是一个Http和反向代理服务器 
    什么是反向代理服务器呢?

    正向的就是由浏览器主动的想代理服务器发出请求,经代理服务器做出处理后再转给目标服务器
    反向的就是不管浏览器同不同意,请求都会经过代理服务器处理再发给目标服务器
    这其中的区别就是必须经过Nginx反向代理服务器,这就有了使用Nginx的几个好处:

    安全:不管什么请求都要经过代理服务器,这样就避免了外部程序直接攻击web服务器
    负载均衡:根据请求情况和服务器负载情况,将请求分配给不同的web服务器,保证服务器性能
    提高web服务器的IO性能:这个我也没看懂,总结来说就是请求从客户端传到web服务器是需要时间的,传递多长时间就会让这个进程阻塞多长时间,而通过反向代理,就可以在反向代理这完整接受请求,然后再传给web服务器,从而保证服务器性能,而且有的一些简单的事情(比如静态文件)可以直接由反向代理处理,不经过web服务器
    另外Nginx还是电子邮件(IMAP/POP3)代理服务器 
    下面就是有Nginx的架构 
     ä¼ éè¿ç¨
    其中Nginx和uWSGI的可以通过uwsgi通信

    总结
    回到之前的问题 
    1.为什么不只用WSGI? 
    2.为什么用了uWSGI还要加个Nginx 
    第一,因为WSGI相对来说性能不照,测试还行,要是正是发布,百来个人一点就歇菜了; 
    第二,虽然有了uWSGi这个web服务器,但是加上Nginx就会让服务器更安全、性能更有保障,还能作为电子邮件代理服务器。
    --------------------- 
    作者:飞羽喂马 
    来源:CSDN 
    原文:https://blog.csdn.net/qq_35318838/article/details/61198183 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 如果项目没有部署到远程服务器,且DEBUG = True(线下模式,允许调试),默认 ALLOWED_HOSTS = [‘localhost’, ‘127.0.0.1’, ‘[::1]’],即默认允许本地主机访问django后台 如果项目上线部署到远程服务器,那就...

    ALLOWED_HOSTS的作用

    • ALLOWED_HOSTS是用来设置允许哪些主机访问我们的django后台站点,
    • 如果项目没有部署到远程服务器,且DEBUG = True(线下模式,允许调试),默认 有ALLOWED_HOSTS = [‘localhost’, ‘127.0.0.1’, ‘[::1]’],即默认允许本地主机访问django后台
    • 如果项目上线部署到远程服务器,那就必须设置allow_host为本地的ipv4地址(设置为"*"也可以,但是不安全),否则本地是无法访问远程的django站点
    • 我故意把allow_host设置为192.168.13.160,然后启动danjo项目访问 http://127.0.0.1:8000/,报错如下
      -在这里插入图片描述
    展开全文
  • python多中开发网页的框架:flask,django,tornado 各个优缺点自己百度一下吧。 我现在学习的资料中优先讲的是djangodjango的经典案例(脸书),可以说因为脸书使用了django,而python正好又火了,所以...

    python有多中开发网页的框架:flask,django,tornado 各个优缺点自己百度一下吧。

    我现在学习的资料中优先讲的是django,django会用的经典案例(脸书),可以说因为脸书使用了django,而python正好又火了,所以django国内就疯狂开始了。。。你懂得

    知道JAVA的都知道MVC 而在django里面叫做MVT T 代表 template 模板的意思,

    这边来解释一下MVT都代表什么,各自的用处:

    M(model):模型类,最终的目的就是生成表和之后与数据库的交互。(可以说就是用python语言,定义一个类然后映射成数据库语言来创建一个表,当然要生成这个表还需要生成迁移和 应用迁移,不懂迁移的是个教程都会说就是个命令不用在意,看了就会~~)

    V(view):视图函数,核心逻辑都写在这。当url匹配成功之后就会转到view函数,view告诉url自己对应的template,然后浏览器开始加载渲染。

    T(template): 模板,这个最好解释,就是html文件 (之后都用这种线标重点) ,浏览器最终要获得模板文件,加载——>渲染(return render(request,html,context) 括号看不懂的可以无视,我自己用来复习用),之后就是我们在浏览器看到的各种网页。

    在这里插入图片描述

    举例

    在这里插入图片描述

    这里网页中的姓名都是从数据库中获得的,从上面的例子可以看到数据库中的存有这些数据。并且我在这里只显示了名字。

    1,首先输入booktest/,url 正则匹配正确就会去寻找view视图函数,视图函数告诉它去找哪一个模板,如果没有这个模板或者url匹配不上就会显示错误
    在这里插入图片描述
    在这里插入图片描述

    2,
    在这里插入图片描述

    3,
    在这里插入图片描述

    总结:

    **这个基本东西不难,自己多动手多看看书或者视频都会做到的 完事开头难嘛毕竟,会了就随心所欲的写了~~~
    这个怎么写毕竟容易理解呢?

    (建议一定要明白下面四个文件的功能,然后写起来就会很简单!!!!!!)

    这里主要有四个文件 :
    models.py
    urls.py(这里涉及正则表达式,你定要会基本的regex。。)
    views.py
    index.html
    先写models.py 创建数据库这是必须的
    然后views或者urls自己选一个,你先写urls或者views都可以。新手先写url 再写 view
    最后写模板文件 index.html 我这里叫index 你自己看情况起名字 ~**

    后话:

    上面都是需要你自己手动写入一个网址才能显示对应的网页,而现在浏览器都是点击一个图标直接跳转到一个网页。
    所以这是之后要做的重定向,反向解析等等。这一阶段就是实现自己写一个网址,匹配成功 就是显示你对应的网页,不成功就显示错误

    展开全文
  • Flask 和 Django 里面的 secret_key 设置有什么用 来源: https://segmentfault.com/q/1010000007295395 问题:在 flask 与 Django 的文档中都发现需要配置 secret_key 1. 这种 secret_key 有什么用吗? 2. ...
  • Django和Flask有什么区别?

    千次阅读 2018-08-09 14:40:22
    Django和Flask有什么区别? 主要的对比: Flask提供简洁、灵活和细粒度控制。它很是客观(让您决定如何实现想要的东西)。 Django提供一种包罗万象的体验:您可以获得管理面板、数据库接口、ORM(object-...
  • 什么用Django建站会Not Found: /favicon.ico提示,重要吗?
  • Django是一个开放源代码的Web应用框架,**由Python写成。采用了MTV的框架模式**,即模型M,视图V和模版T。...它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件
  • 注意这里可能产生异常,因为pages可能是一个空列表,比如本身只有一个分页,那么pages就为空,因为我们永远不会获取页码为1的页码号(至少1页,1的页码号已经固定写在模板文件中) context[ 'pages_first' ] = ...
  • Django

    2018-01-31 15:57:41
    DjangoPython开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! 学Django需要什么基础 1. Django是 python 语言写的一个Web框架包,所以你得知道一些 Python 基础知识。 2. 其次你最好...
  • 它采用了MVC模式,什么是MVC?大家不要着急,MVC这么好的东西我在下面会精细的讲一下!Django最初是被开发来用于管理劳伦斯出版集团下的一些以新闻为主内容的网站。一款CMS(内容管理系统)软件。并于 2005 年 7 月...
  • django的xadmin一个添加 用户小组件的功能,这个功能是干什么的,怎么呢? ![图片说明](https://img-ask.csdn.net/upload/201908/29/1567068001_835305.png)
  • Django:(01) 关于什么Django?   一、从 WSGI 开始了解 Django  在了解 Django 之前必要先了解一下 Python 被用于 Web 开发的基础协议——WSGI。  在开发 web 应用时,我们不希望...
  •  对于初学者来说,找到一个好的框架来学习或者项目开发都是非常必要的,而当你一定开发经验后,你应该选择适合当前业务需要的框架。我这里并不想探讨哪个框架好哪个不好,这个永恒的话题就跟探讨“世界上哪种...
  • 首先用djangocms生成了一个站点(具体参考这里:http://www.cnblogs.com/Tommy-Yu/p/3878488.html),其文件结构如下: 本来以为会很逼格,结果一看傻眼了,这不就是一个普通的django project么? 看看神马...
  • 但是这样一个问题,就是如果你现在用Django 1.10.x写了个网站,然后你的领导跟你说,之前一个旧项目是用Django 0.9开发的,让你来维护,但是Django 1.10不再兼容Django 0.9的一些语法了。这时候就...
  • #显示如下: 这是new topic.html内容: {% extends “learning_logs/base...{% load bootstrap3 %} {% block header %} <h2Add a new topic:/h2> {% endblock header %} {% block content %} ... {% csrf_token...
  • 假设有一个字典,里面已经有了所有相关信息,现在想利用这个字典作为参数,跟django model结合,很少的代码量保存数据,有什么简便方法,比如有如下定义的model: 程序代码 from django.db import modelsclass ...
  • 用django发送异步邮件

    2017-12-11 21:22:00
    太阳底下没有新鲜事,github是一个神奇的地方,你有什么想法,需求,点子。其实别人早就想到,而且也已经做到。 所以不要高估自己,有什么想法还是GITHUB一下,免得成了井底之娃。 这几天一直在研究python的异步...
  • Django入门-1:Django简介和环境搭建

    万次阅读 2017-09-08 09:56:08
    Django需要什么基础 Django是 python 语言写的一个Web框架包,所以你得知道一些 Python 基础知识。 其次你最好一些做网站的经验,懂一些网页 HTML, CSS, JavaScript 的知识。 没有经验也没有关系,慢慢来就...
  • 两个配件表,一个是车轮表,另一个是引擎表。两个表都一个car字段,表示该配件对应的车。 对于车轮来说,多个对应一个car的情况很正常,所以car字段应该ForeignKey来表示。 对于引擎来说,一个引擎只可能对应...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 876
精华内容 350
关键字:

django有什么用