Django JsonResponse简介
JSON是现在非常灵活的一种格式,所以对JSON的支持在所有技术格式中都得到了扩展。这是因为在JSON对象中引用和解析数据的能力很容易。这种解析能力为JSON对象提供了很大程度的偏爱。因此,像其他平台一样,Django也提供了对JSON的支持,并以JSON响应的方式提供支持。所以当数据被渲染时,就像HTML页面的渲染一样,JSON对象也可以被渲染。JSON对象的呈现方式如下。
语法。
from django.http import JsonResponse JsonResponse(data,safe=TRUE/FALSE)
JsonResponse如何工作?
JSON的工作过程可以根据如何接收这些JSON对象的数据来解释。首先要确保的是,从Django.http库中导入JsonResponse类。这是非常关键的一步,只有当Django.http库共享JsonRespose类时,才能进行基于JSON的渲染。该类将使JSON响应元素可用于程序的其余部分。接下来,需要制定用于渲染的数据。渲染的数据可以是来自表单的输入,可以是随机输入的数据,也可以是基于数据库的数据。无论数据来自哪里,都需要确保数据的制定。因此,数据制定是一个非常关键的部分,因为它决定了数据如何被填充,以及哪些数据参与到这个过程中。在这之后,就是数据呈现的关键部分。数据呈现是关键部分,JSON响应将被呈现出来。这个过程涉及到将数据描述到控制台。数据的URL条目也必须要被放置。
创建一个Django JsonResponse。
- Models.py文件中的变化。JsonResponse的收费在提交的同时应该被存储,在检索的同时应该从数据库中提取。这可以通过为模型创建的对象来完成。做到这一点的方法在下面给出的views.py部分中描述。
(models.py)
from django.db import models from django.contrib.auth.models import User # Model variables # Create your models here. class Bride(models.Model): JsonResponse_Example_name = models.CharField(max_length=200,null=True) JsonResponse_Example_thegai = models.CharField(max_length=200,null=True) JsonResponse_Example_State = models.CharField(max_length=50,null=True) JsonResponse_Example_District = models.CharField(max_length=50,null=True) JsonResponse_Example_Address = models.TextField(null=True) JsonResponse_Example_Phone = models.BigJsonResponse_Example_Field(null=True) JsonResponse_Example_profession = models.CharField(max_length=200,null=True) JsonResponse_Example_salary = models.BigJsonResponse_Example_Field(null=True) JsonResponse_Example_Under_Graduation_Degree = models.CharField(max_length=200,null=True) JsonResponse_Example_Under_Graduation_college = models.CharField(max_length=400,null=True) JsonResponse_Example_Post_Graduation_Degree = models.CharField(max_length=200,null=True) JsonResponse_Example_Post_Graduation_college = models.CharField(max_length=400,null=True) JsonResponse_Example_Rasi = models.CharField(max_length=200,null=True) JsonResponse_Example_Nakshatra = models.CharField(max_length=200,null=True) JsonResponse_Example_Creator = models.ForeignKey(User, null=True, on_delete=models.CASCADE) def _str_(self): return self.name
2) 在Forms.py文件中的变化。
下面是与forms.py文件相关的变化。这些变化提到在这个forms.py文件中添加了表的新娘。所以发生的情况是,所有来自表的字段将被关联起来,据此在forms.py文件中声明它们。
例如:(forms.py)
from django import forms from .models import Bride from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User class Valueform(forms.ModelForm): # Rasi = forms.ChoiceField(choices = Rasi_CHOICES) class Meta: model = Bride fields = "__all__"
3) 在Settings.py文件中的变化。
确保所有的值和数据库连接都在settings.py记录中得到很好的设置,以使事业可以灵活地被启动执行。
(Settings.py)。
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ROOT_URLCONF = 'Matrimony.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [Template_DIR,], 'APP_DIRS': True, 'OPTIONS': { 'render_dict_processors': [ 'django.template.render_dict_processors.debug', 'django.template.render_dict_processors.request', 'django.contrib.auth.render_dict_processors.auth', 'django.contrib.messages.render_dict_processors.messages', ], }, }, ]
4) url.py文件中的变化。
媒体根和文档根变量需要在url.py文件中被实例化,如下图所示。url.py文件的变化如下。
url.py文件中的变化
from django.contrib import admin from django.urls import path from django.conf.urls import url from matrimony_pages import views from django.conf import settings from django.conf.urls.static import static urlpatterns = [ url(r'^$',views.Welcome_page,name='Welcome_page'), url(r'Mainpage/',views.Main_page,name='Main_page'), url(r'form/',views.form_view,name='form_view'), url(r"signup/", views.Sign_up_request, name="register"), url(r"login/", views.login_request, name="login"), path(r'profile/<str:pk>/',views.JsonResponse_Example_page,name='profile'), url(r'logout/',views.logout_request,name='logout'), url(r'reg/',views.JsonResponse_Example_reg_user,name='reg'), path(r'update/<str:pk>/',views.form_update,name='update'), path('admin/', admin.site.urls), ]+ static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
- 为表单创建一个视图。当提交的JsonResponse比率需要被存储,当检索时需要从数据库中提取。这可以通过为模型创建的对象来完成。这样做的方法在下面给出的views.py部分中描述。
例:views.py
from django.shortcuts import render, redirect from django.http import HttpResponse from .models import * from .forms import NewUserForm,Valueform from django.contrib.auth import login,authenticate,logout from django.contrib import messages from django.contrib.auth.forms import AuthenticationForm from django.contrib.auth.models import User from django.contrib.auth.decorators import user_passes_test,login_required from django.core.paginator import Paginator from django.http import JsonResponse def form_view(request): form = Valueform(request.POST or None) if form.is_valid(): post = form.save() post.Creator = request.user print('Creator user stored',request.user) post.save() return render(request,'form.html', {"form": form}) @login_required def JsonResponse_Example_page(request,pk): Json_dict = {} JsonResponse_key_variable_ = Bride.objects.get(id=pk) JsonResponse_Example_name = JsonResponse_key_variable_.name JsonResponse_Example_Age = Bride.objects.JsonResponse(first_name='Nalandan', last_name='Ranjan',defaults={'birthday': date(1990, 10, 9)}) JsonResponse_Example_Thegai = JsonResponse_key_variable_.thegai JsonResponse_Example_state = JsonResponse_key_variable_.State JsonResponse_Example_district = JsonResponse_key_variable_.District JsonResponse_Example_Address = JsonResponse_key_variable_.Address JsonResponse_Example_Phone = JsonResponse_key_variable_.Phone JsonResponse_Example_Profession = JsonResponse_key_variable_.profession JsonResponse_Example_Salary = JsonResponse_key_variable_.salary JsonResponse_Example_UG = JsonResponse_key_variable_.Under_Graduation_Degree JsonResponse_Example_UGC = JsonResponse_key_variable_.Under_Graduation_college JsonResponse_Example_PG = JsonResponse_key_variable_.Post_Graduation_Degree JsonResponse_Example_PGC = JsonResponse_key_variable_.Post_Graduation_college JsonResponse_Example_UG = JsonResponse_key_variable_.Under_Graduation_Degree JsonResponse_Example_UGC = JsonResponse_key_variable_.Under_Graduation_college JsonResponse_Example_PG = JsonResponse_key_variable_.Post_Graduation_Degree JsonResponse_Example_PGC = JsonResponse_key_variable_.Post_Graduation_college JsonResponse_Example_Rasi = JsonResponse_key_variable_.Rasi JsonResponse_Example_Nakshatra = JsonResponse_key_variable_.Nakshatra Json_dict['Age'] = JsonResponse_Example_Age Json_dict['name'] = JsonResponse_Example_name Json_dict['thegai'] = JsonResponse_Example_Thegai Json_dict['State'] = JsonResponse_Example_state Json_dict['district'] = JsonResponse_Example_district Json_dict['Address'] = JsonResponse_Example_Address Json_dict['Phone'] = JsonResponse_Example_Phone Json_dict['profession'] = JsonResponse_Example_Profession Json_dict['Under_Graduation_Degree'] = JsonResponse_Example_UG Json_dict['Under_Graduation_college'] = JsonResponse_Example_UGC Json_dict['Post_Graduation_Degree'] = JsonResponse_Example_PG Json_dict['Post_Graduation_college'] = JsonResponse_Example_PGC Json_dict['Rasi'] = JsonResponse_Example_Rasi Json_dict['Nakshatra'] = JsonResponse_Example_Nakshatra return render(request,'Profilepage.html',Json_dict) +def Json_Response(request): jsondata = [{'name': 'Name of bride'}, {'Age': 'Age of Bride'}, {'thegai': 'Thegai'}, {'state': 'state of bride'}, {'district': 'bride district'}, {'address': 'address details'}, {'phone': 'phone details'}, {'UGD': 'Degree details'}, {'UGC': 'College details'}, {'PGD': 'Post Degree details'}, {'PGC': 'post College details'}, {'Rasi': 'details of rasi'}, {'Nakshatra': 'Nakshatra details'} ] return JsonResponse(jsondata, safe=False)
输出。
结论
上面给出的程序提到了在Django中申请JsonResponse区域组合的方法,同样的语法也提到了JsonResponse关系在Django中的工作程序。同时还提供了一个停留在互联网网站上的实例,以及互联网网站的截图。上面提到了对所有Django相关文件的修改。
推荐文章
这是一个关于Django JsonResponse的指南。这里我们讨论了简介、语法、JsonResponse如何工作?例子,以及代码实现。你也可以看看下面的文章来了解更多 --
The postDjango JsonResponseappeared first onEDUCBA.