首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在django中添加/编辑(以及要支持的urls )的视图实质上是做一个update_or_create

在Django中,添加/编辑视图实质上是通过使用update_or_create方法来实现的。update_or_create方法是Django模型提供的一个便捷的方法,用于在数据库中执行更新或创建操作。

具体来说,当我们需要在Django中添加或编辑一个对象时,可以使用update_or_create方法来检查数据库中是否已存在该对象。如果存在,则更新该对象的属性;如果不存在,则创建一个新的对象。

以下是一个示例代码,展示了如何在Django中使用update_or_create方法来实现添加/编辑视图:

代码语言:txt
复制
from django.shortcuts import render, get_object_or_404
from .models import YourModel
from .forms import YourForm

def your_view(request, pk=None):
    instance = get_object_or_404(YourModel, pk=pk) if pk else None

    if request.method == 'POST':
        form = YourForm(request.POST, instance=instance)
        if form.is_valid():
            form.save()
            # 保存成功后的操作
    else:
        form = YourForm(instance=instance)

    return render(request, 'your_template.html', {'form': form})

在上述代码中,我们首先导入了必要的模块和类。然后,通过get_object_or_404方法获取要编辑的对象实例。如果pk参数存在,则表示编辑操作;如果pk参数不存在,则表示添加操作。

接下来,我们根据请求的方法来处理表单数据。如果是POST请求,我们将使用YourForm表单类来验证和保存数据。如果表单数据有效,我们调用form.save()方法来保存数据到数据库。如果是GET请求,我们只需将实例对象传递给表单类即可。

最后,我们将表单对象传递给模板进行渲染,并在模板中显示表单。

这是一个基本的示例,你可以根据自己的需求进行修改和扩展。关于Django的视图、表单和模型的更多详细信息,你可以参考Django官方文档

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

TO-do api

文本编辑打开todo_project / settings.py。 文件底部,添加todos.apps.TodosConfig。...本书学习过程,我们将对其中一些熟悉。 记住主要内容,隐式默认设置设计旨在使开发人员可以进入并开始本地开发环境快速工作。 但是,默认设置不适用于生产。...这里格式与我们Django本身创建模型类或表单方式非常相似。 我们正在指定要使用模型以及我们要公开特定字段。...请记住,idDjango自动创建,因此我们不必Todo模型定义它,但是我们将在细节视图中使用它。 就是这样。...Views 传统Django视图用于自定义发送到模板数据。 Django REST Framework视图执行相同操作,但对序列化数据而言。

3.6K31

如何使用Ubuntu 16.04Django一键安装镜像

“ 选择镜像”部分,单击“ 一键安装”应用程序选项卡,然后选择16.04图像上Django 1.8.7。...接下来,选择Droplet大小,所需区域以及任何其他设置(如专用网络IPv6支持或备份)。添加SSH密钥并填写Droplet主机名。准备好后,单击“ 创建Droplet”以启动服务器。...具体来说,您需要在Nginx配置更改静态文件路径。您也需要在Gunicorn Systemd文件更新WorkingDirectory,name以及pythonpath。...接下来我们需要将刚创建视图连接到URL。为此,打开django_project/urls.py进行编辑。...$ nano django_project/urls.py 将以下两行添加到文件,该文件将导入刚刚创建视图并将其设置为默认URL: django_project / urls.py . . .

1.8K50
  • Django 3.1 官网学习路线

    这是 Django 中最简单视图调用视图,我们需要将其映射到一个 URL—为此我们需要一个 URLconf。 要在轮询目录创建 URLconf,请创建一个名为 urls.py 文件。...迁移 Django 将更改存储到您模型(以及数据库模式)方式——它们磁盘上文件。...#默认设置文件启用了对时区支持,因此 # Django期望为pub_date使用tzinfo日期时间。...您将看到一个页面,其中列出了通过 Django 管理员对这个对象所做所有更改,以及更改者时间戳和用户名: 第三部分 概览 视图 Django 应用程序 Web 页面的“类型”,通常提供特定功能和特定模板...“添加选择”表单如下所示: 该表单,“Question”字段一个选择框,包含数据库每个问题。Django 知道一个外键应该在管理中表示为一个框。我们例子,目前只存在一个问题。

    8.2K10

    Django 1.10文文档-第一个应用Part1-请求与响应

    名字你引用内部文件包名(例如 mysite.urls); mysite/__init__.py:一个空文件,它告诉Python这个目录应该被看做一个Python包; mysite/settings.py...这是Django中最简单视图调用视图,我们需要将它映射到一个URL,为此,我们需要一个URLconf。...要在polls目录创建一个URLconf,polls文件夹创建一个名为urls.py文件。...“,就如你view.py定义那样。 url()函数可以传递4个参数,其中2个必须:regex和view,以及2个可选参数:kwargs和name。...Django拿着用户请求url地址,urls.py文件对urlpatterns列表每一项条目从头开始进行逐一对比,一旦遇到匹配项,立即执行该条目映射视图函数或二级路由,其后条目将不再继续匹配

    1.4K50

    小白学Python – Django Web 开发教程 二

    视图类型 Django 视图分为两大类:- 基于函数视图 基于类视图 基于函数视图 基于函数视图使用 python 函数编写,该函数接收 HttpRequest 对象作为参数并返回 HttpResponse...path('', views.geeks_view, name='geeks_view'), ] 包括其他 URLConf 模块 为 Django 每个应用程序提供一个 URLConf 模块一个很好做法...该模块需要包含在根 URLConf 模块,如下所示: from django.contrib import admin from django.urls import path, include urlpatterns...:8000/ 那么我们网站将是 –  Django 管理界面渲染模型 要在Django admin渲染模型,我们需要修改 app/admin.py。...见下图——  添加所需数据和图像字段后,我们将在管理仪表板上看到类似的内容 –  您还可以代码编辑器中看到媒体文件夹 - 将 Django 连接到不同数据库 Django 内置了 SQLite

    18030

    如何从Django应用程序发送Web推送通知

    创建send_push视图,首先添加以下导入以启用JSON响应并访问webpush库send_user_notification函数: from django.http.response import...通常,创建项目时会自动生成URL配置文件。在此步骤,您将更新此文件以包含您在上一步创建视图新路由以及django-webpush应用程序URL ,这将为订阅用户提供推送通知端点。...如果当前用户注册用户,则模板将创建一个meta标签,并将其id作为内容。 下一步告诉Django在哪里找到你模板。为此,您将编辑settings.py和更新TEMPLATES列表。...我们方法templates文件夹创建一个sw.js文件,然后我们将其注册为视图。...打开urls.py文件: nano ~/djangopush/djangopush/urls.py urlpatterns列表添加import语句和路径以创建基于类视图: ... from django.views.generic

    9.8K115

    Django 基础教程

    视图视图用户界面——当你渲染一个网站时你浏览器中看到。它由 HTML/CSS/Javascript 和 Jinja 文件表示。...注意 Linux 和 Mac 安装 Django 相似的,这里我 Windows 显示它,只需要打开终端代替命令提示符并执行以下命令。...安装 pip 打开命令提示符并输入以下命令 python -m pip install -U pip 安装虚拟环境 cmd输入以下命令 pip install django 设置虚拟环境- 设置虚拟环境将允许您编辑通常您系统不允许依赖项...移动到 projectName-> projectName -> urls.py 并在标题中添加以下代码 from django.urls import include 现在, URL 模式列表,...Django Apps 主要特点独立性,每个应用程序作为一个独立单元来支持主项目。

    1.5K50

    框架篇-Django博客应用-访问文章

    1.使用 django 视图类 DetailView; 2.get_object 为 DetailView 类方法; 3.Blog.objects.get django 中封装对数据库操作,... blog/templates/ 目录下新建 blog_detail.html 文件: ? index/urls.py 文件添加: ?...命名空间名称 app_name = " " 参数说明: 正则表达式:一个正则表达式字符串 views视图函数:一个可调用对象, 通常为一个视图函数或一个指定视图函数路径字符串 参数:可选传递给视图函数默认参数...编辑文章 文章发布过程/之后,难免需要继续/重新编辑 /index/forms.py 文件添加: ?...FormView 类自带函数,用来返回当表单成功保存后跳转页面链接 4. form.save 函数添加了一个参数 blog urls.py index/urls.py 文件添加编辑文章链接

    66040

    关于“Python”核心知识点整理大全57

    1处,我们获取用户修改条目对象,以及与该条目相 关联主题。在请求方法为GET时将执行if代码块,我们使用实参instance=entry创建一个 EntryForm实例(见2)。...目录learning_log/users/,新建一个名为urls.py文件,并在其中添加如下 代码: urls.py """为应用程序users定义URL模式""" from django.conf.urls...这个URL单词users让Djangousers/urls.py查找,而单词login让 它将请求发送给Django默认视图login(请注意,视图实参为login,而不是views.login...我们要让登录视图处理表单,因此将实参action设置为登录页面的URL(见2)。登录视图 将一个表单发送给模板,模板,我们显示这个表单(见3)并添加一个提交按钮(见4)。...5处,我们包含了一个隐藏表单元素——'next',其中实参value告诉Django在用户成功登 录后将其重定向到什么地方——在这里主页。 2.

    9410

    Django开发快速入门

    image-20200916015409343 第一个app 典型下一步开始添加代表功能不同区域应用程序。 一个Django项目可以支持多个应用程序。...让我们构建文件,以便我们图书馆项目列出首页上所有书籍。 将您选择文本编辑器打开到settings.py文件。 第一步将新应用添加到我们INSTALLED_APPS配置。...Django由于某种原因在应用程序默认不包含urls.py文件,因此我们需要自己创建它。 (library) $ touch books/urls.py 现在,文本编辑更新新文件。...在此视图文件,Book模型与ListView一起使用以列出所有书籍。 最后一步创建我们模板文件,以控制实际网页上布局。 我们已经视图中将其名称指定为book_list.html。...image-20200916022359047 如果我们管理员添加其他图书,则它们也都将出现在此处。 这是对传统Django网站快速浏览。 现在,向其中添加一个API!

    2.3K41

    带你构建你第一个Python和Django应用程序

    这是您主要项目文件夹,并将项目的设置包含在名为文件settings.py以及项目中路径urls.py。随意打开settings.py文件以熟悉其内容。...创建你自己应用程序 需要注意Django应用程序遵循模型,视图,模板范例。简而言之,应用程序从模型获取数据,视图对数据做了一些处理,然后渲染包含处理信息模板。...我们例子,这个方法get需要一个对我们urls.py文件定义urlHTTP GET请求。附注,我们可以将我们方法重命名post为处理HTTP POST请求。...让我们编辑urls.py我们howdy应用程序文件来添加它。 一旦我们添加了路线,about.html当我们访问/about/网址时,我们需要添加一个视图来呈现模板。...让我们编辑应用程序views.py文件howdy。 请注意,第二个视图中,我没有定义一个get 方法。这只是使用这个TemplateView类另一种方式。

    2.6K50

    特别编辑--windows+python+django实现前端页面上传到指定路径生成个性化二维码

    python-前端页面上传文件到指定路径 小贴士 本文windows通过python语言,实现前端页面上传文件到我们本地指定路径,如在liunux环境进行实现,则参考本公众号上一篇文章linux...首先搭建python以及django环境 - 首先我们得具备Django环境+python -django目录下创建我们项目project01 -项目下创建我们应用app01 -工程、项目创建完成之后..." name="myfile"> 提交 {% csrf_token %} -然后在编辑我们视图文件...) return HttpResponse(File.name) -编辑我们urls视图文件 from django.conf.urls import...settings.py将我们app01app添加进去 进行添加这个'app', INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth

    59710

    djangourls系统

    :一个可调用对象,通常为一个视图函数或一个指定视图函数路径字符串 参数:可选传递给视图函数默认参数(字典形式) 别名:一个可选name参数 正则表达式详解 基本配置 from django.conf.urls...更高级用法,可以使用分组命名匹配正则表达式组来捕获URL值并以关键字参数形式传递给视图Python正则表达式,分组命名正则表达式组语法(?...Ppattern),其中name名称,pattern匹配模式。...根据Django 视图标识和将要传递给它参数值,获取与之关联URL。 第一种方式我们在前面的章节中一直讨论用法。...某些场景,一个视图通用,所以URL 和视图之间存在多对一关系。对于这些情况,当反查URL 时,只有视图名字还不够。

    1.3K70

    Django学习笔记之使用 Django项目开发框架

    要使用并理解本文中提供代码,则需要安装 Python,并了解初学者水平上如何使用 Python。查看是否安装了 Python 以及 Python 版本号,可以输入 python -V。...Django Admin 工具显示对象时广泛地使用了这个方法。 设置这个模型模式,请返回 manage.py sql 命令。此时模式尚未确定。 清单 10....第一个步骤将应用程序模块(django.contrib.admin)添加到 INSTALLED_APPS 设置: 清单 16.... djproject/urls.py 实现视图配置 from django.conf.urls.defaults import * urlpatterns = patterns('',...但是开发过程,如果您希望 Django 可以提供图像、样式表等,那么请参阅 参考资料 中有关如何激活这个特性链接。 现在我们创建视图所加载并呈现两个页面模板。

    3.3K30
    领券