提供一个解决方案,以使用不同于html表单内部的get或post方法

django-http-method的Python项目详细描述


Build StatuscodecovCodeFactorPyPI VersionPython 3.4+Django 1.8, 1.10+, 2.0+License MIT

django http方法

在django模板中提供使用不同于获取或发布html表单的方法的解决方案。仅适用于基于类的视图。

安装

源代码:

python setup.py install

来自PIP:

pip install django-http-method

用法

在设置中添加{em1}$django_http_method。已安装的应用程序
INSTALLED_APPS=([...],django_http_method,[...],)
< H> >将混合蛋白加入CBV
fromdjango.views.genericimportViewfromdjango_http_methodimportHttpMethodMixinclassTestView(HttpMethodMixin,View):defget(self,request):passdefdelete(self,request):passdefput(self,request):pass[...]
在您的模板中,加载http_method并在表单中使用{% http_[method] %}
{% load http_method %}

<formaction="/"method="post">
    {% csrf_token %}
    {% http_put %}
    [...]
    <buttontype="submit">Send a PUT request</button></form><formaction="/"method="post">
    {% csrf_token %}
    {% http_patch %}
    [...]
    <buttontype="submit">Send a PATCH request</button></form>

现在将调用视图的相应方法。例如,如果使用了{% http_put %},那么将调用TestView.put(),并且任何请求参数都将位于request.PUT


更改日志

1.0.2

  • 在设置要求中添加了pyaml

1.0.1

  • 现在使用yaml.safe_load()而不是yaml.load()
  • 在测试矩阵中添加了Python3.7和Django 2.1

1.0.0

  • python3.4+和django1.8、1.10、1.11和2.0+的初始版本

0.4.0

  • 现在将在body中搜索put和patch方法的参数
  • 如果未找到'u method'参数,则方法将默认为request.method

0.3.2

  • 在TemplateTags中的HTML输入末尾添加了结束斜杠“/”

0.3.0

  • 从请求参数中删除“u method”

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java:字符串。RTL设备语言用标志“+”格式化,数字后加符号   java GAE作为桌面应用程序(Swing)的服务提供商   java将InputStream转换为FileInputStream不适用于Apache POI   java外部Voronoi库“网格”:什么是草图和处理?   重载重写的泛型方法java   java显示组织上设置的错误。springframework。验证。jsp中的错误对象   java一些Spring模型属性没有显示在我的JSP中   java无法编译Guava 23的SimpleTimeLimiter示例   java如何更改JTree中的“根”目录名?   java如何在安卓中对相对布局产生连锁反应?   java错误:org。冬眠例外SQLGrammarException:无法提取结果集,dateAccessed是未知列   如何使用java监听JSON文件更新   由抽象封闭类创建的匿名内部类能否通过反射确定实现类?