Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Create nested pages-list from Postgresql database using Django
I want to store nested pages-list using Django models. I want to to use; page_id parent_page_id title fields. But ı dont know how to get pagelist as a json using recursive function like; -Page1 -Page1.1 -Page1.2 -Page1.2.1 Is there any method for this? Is it enough to use only parent_page_id ? -
Convert Javascript Datetime object to Django python3 datetime field
From the webpage I pass a JavaScript Datetime object to my Django(v2.2) function views.py Ex: sdate = new Date() Fri Dec 18 2020 13:09:19 GMT+0530 (India Standard Time) Using the datetime.datetime.strptime function I was able to match most of the object except the timezone difference (+0530 (India Standard Time)) Here is my code: datetime.strptime(sdate, "%a %b %d %Y %H:%M:%S %Z+0530 (India Standard Time)") How to match the +0530 and India Standard Time using any other datetime specifier? Because the incoming datetime objects are not always of IST time. -
DRF Help to solve nested serializers dependency
So, Here is my serializers structure in the Django Rest FrameWork: class FieldDataSerializer(serializers.ModelSerializer): class Meta: model = FieldData fields = '__all__' extra_kwargs = {'data_size': {'read_only': True}, } parent = DataSheetFieldSerializer(many=False, required=True) owner = MemberSerializer(many=False, required=True) class IndexedFieldDataSerializer(serializers.ModelSerializer): class Meta: model = IndexedFieldData fields = '__all__' field_data = FieldDataSerializer(many=False, required=True) class DataSheetFieldSerializer(serializers.ModelSerializer): class Meta: model = DataSheetField fields = '__all__' extra_kwargs = {'is_indexed': {'read_only': True}, } @property def field_size(self): return record_data_manager.get_field_size(self.data['id']) size = serializers.ReadOnlyField(source='field_size') data = FieldDataSerializer(many=True) indexed_data = IndexedFieldDataSerializer(many=True) owner = MemberSerializer(many=False, required=True) parent = DataSheetSerializer(many=False, required=True) class DataSheetsCategorySerializer(serializers.ModelSerializer): class Meta: model = DataSheetsCategory fields = '__all__' parent = ClusterSerializer(many=False, required=True) class DataSheetSerializer(serializers.ModelSerializer): class Meta: model = DataSheet fields = '__all__' @property def datasheet_size(self): return record_data_manager.get_datasheet_size(self.data['id']) size = serializers.ReadOnlyField(source='datasheet_size') fields = DataSheetFieldSerializer(many=True, read_only=True) parent = DataSheetsCategorySerializer(required=False, many=False) owner = MemberSerializer(required=True, many=False) class ClusterSerializer(serializers.ModelSerializer): class Meta: model = DataSheetsCluster fields = '__all__' extra_kwargs = {'total_size_limit': {'read_only': True}, } @property def cluster_size(self): return record_data_manager.get_cluster_size(self.data['id']) size = serializers.ReadOnlyField(source='cluster_size') members = MemberSerializer(many=True) roles = RoleSerializer(many=True) datasheets = DataSheetSerializer(many=True, read_only=True) owner = MemberSerializer(many=False, required=True) As you can see, I am having trouble because of my model's structure. I cannot reference the serializers below and hence am getting an unreferenced error, my serializers are nested. How … -
Got AttributeError when attempting to get a value for field `phone_number` on serializer
AttributeError:Got AttributeError when attempting to get a value for field phone_number on serializer ListBusCompanyStaffSerializer. Bascially I have two models User and BusCompanyStaff, User consists of phone_number field BusCompanyStaff consists of following models fields class BusCompanyStaff(BaseModel): user = models.OneToOneField( BusCompanyUser, on_delete=models.CASCADE ) position = models.ForeignKey( StaffPosition, on_delete=models.SET_NULL, null=True, related_name='position' ) created_by = models.ForeignKey( User, on_delete=models.CASCADE, related_name='created_by' ) staff_of = models.ForeignKey( BusCompany, on_delete=models.CASCADE ) I basically wants to list particular BusCompanyStaff from BusCompany so here is my serializer I tried till now class ListBusCompanyStaffSerializer(serializers.ModelSerializer): position = serializers.CharField() class Meta: model = BusCompanyStaff fields = ( 'id', 'phone_number', 'position', 'email', ) there is defintely Error as BusCompanyStaff dont consist of phone_number field but requirement is to put User phone number and email Here is my rest of code in views.py and usecases.py #usecases.py class ListBusCompanyStaffUseCase(BaseUseCase): def __init__(self, bus_company: BusCompany): self._bus_company = bus_company def execute(self): self._factory() return self._bus_company_staffs def _factory(self): self._bus_company_staffs = BusCompanyStaff.objects.filter(staff_of=self._bus_company) #views.py class ListBusCompanyStaffView(generics.ListAPIView): serializer_class = bus_company_user_serializers.ListBusCompanyStaffSerializer def get_bus_company(self): return GetBusCompanyUseCase( bus_company_id=self.kwargs.get('bus_company_id') ).execute() def get_queryset(self): return ListBusCompanyStaffUseCase( bus_company=self.get_bus_company() ).execute() how can I serialize in this format id , phone_number , position, email, -
How to filter Double reverse filtering using Django ORM
Hello I am having following model structure class Product: size = models.CharField(max_length=200) class Make(models.Model): make_content = models.ForeignKey(Product, related_name='make_set') department = models.CharField(max_length=200) class MakeContent(models.Model): make = models.ForeignKey(Make, related_name='make_content_set') published = models.BooleanField() If I need to filter Product according to Make I can able to use related name qs = Product.objects.filter(make_set__department = "Sample") It's working fine Now what I need is I need to filter the Product according to MakeContent I have tried this qs = Product.objects.filter(make_set__make_content_set__published = True) This is not working , is there any other idea ? -
Can't delete old records from DB in Django
I have a code that makes a ip logs to DB like this. It should make the log when someone visit a page. The first part of code works and creates logs in my DB. def ClientIP(request, name="Default Name"): try: x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') browser = request.META['HTTP_USER_AGENT'] except: return dt, tm = str(datetime.now().strftime("%Y-%m-%d&%H:%M")).split("&") if x_forwarded_for: ip = x_forwarded_for.split(',')[0] else: ip = request.META.get('REMOTE_ADDR') IpLogs.objects.create( date = dt, time = tm, ip = str(ip), page_name = str(name), browser = str(browser) ) max_date = IpLogs.objects.order_by('-date')[5] delete_qs = IpLogs.objects.filter(date__lt=max_date) delete_qs.delete() return In the last part of the code I'm trying to delete records, that are older than last 5 records. I'm getting this error TypeError: expected string or bytes-like object in this line delete_qs = IpLogs.objects.filter(date__lt=max_date) My model looks like this class IpLogs(models.Model): date = models.DateField() time = models.TimeField() ip = models.CharField(max_length=20) page_name = models.CharField(max_length=50) browser = models.CharField(max_length=300) def __str__(self): return self.ip class Meta: ordering = ['-date'] local variables are browser ('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like ' 'Gecko) Chrome/87.0.4280.101 Safari/537.36') dt '2020-12-18' ip '192.168.71.58' max_date <IpLogs: 192.168.71.58> name 'DB tools' request <WSGIRequest: GET '/'> tm '14:52' What I'm doing wrong??? -
Djano filtering many-to-many results
I have an application where people can vote for multiple artists. On the results page I want to filter on country. In other words: I only wan't to show votes that are cast from a certain country. The count of votes works, but in the template still all the emails of the voters are shown and not only from the country in the filter. My model: class Artist(models.Model): id = models.AutoField(primary_key=True) name = models.CharField('Artist name', max_length=100) def __str__(self): return self.name class Vote(models.Model): email = models.EmailField(null=True) country = CountryField(default="US") artists = models.ManyToManyField(Artist, related_name='selectedartists') def __str__(self): return self.email The part of the view where the filtering is done: results = Artist.objects.filter(selectedartists__isnull=False) if countryquery == '' or countryquery == 'all': countryquery = 'all' results = results.annotate(total=Count('selectedartists', distinct=True)) else: results = results.filter(selectedartists__country=countryquery) results = results.annotate(total=Count('selectedartists', filter=Q(selectedartists__country=countryquery), distinct=True)) and this is my template {% if results %} {% for artist in results %} {{artist.name}} Votes:{ artist.total }} Voters: {{artist.selectedartists.all|join:', '}} {% endfor %} {% else %} <div class="noresults">No results</div> {% endif %} -
Rails Sorcery to Django Auth
I'm using Rails with "Sorcery" gem for authentication. https://github.com/Sorcery/sorcery Is it possible to migrate to Django default auth using the same model(DB Table)? I don't want to request all user to set new passwords. -
Access-Control-Allow-Origin header is missing despite using django-cors-headers
I'm trying to incorporate django-cors-headers into my project, but so far it doesn't seem to work - the Access-Control-Allow-Origin header is missing from the responses. I have added corsheaders to the installed apps: INSTALLED_APPS = [ ... 'corsheaders', ] And the middleware is at the top of the middleware list: MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware', ... ] I've also tried both CORS_ORIGIN_ALLOW_ALL = True and CORS_ALLOW_ALL_ORIGINS = True but so far, the header is still missing. I also added CORS_ALLOW_CREDENTIALS = True to no avail. What could be the issue here? I've tried to follow the instructions from https://github.com/adamchainz/django-cors-headers#configuration but just can't get the header to appear in responses. -
Use the Dates from a text file as options for a drop-down list
Im doing a simulation of prices and creating a page for it. The page will ask what year the user would like to simulate and the type of simulation to do (Monthly/weekly) Based on the user's inputs, the page will open the text file that have filenames like this 2015_monthly.txt 2015_weekly.txt 2014_monthly.txt 2014_weekly.txt Each file contains dates of when the simulation would end. For instance in 2015_monthly.txt 2015-01-30 2015-02-28 2015-03-31 . . . What would i like to do is to ask the user to choose a date from the text file. I would like to do this in a dropdown list containing the dates from the file and use them as an options from a dropdown list. How can i translate this into a html code? -
Django adding event to Month of a Calender issue
I am working on a Calender project, for the already got the code online. if booking an event we give a start date and end date. if submit the form the event will get saved in the calendar only on the start time, the event is visible in the calendar template, My requirement is that Now I want to modify the calendar so that all the dates matching the start date and end date should show the event. Example: i have given the start date as 20th Dec 2020 and the end date as 24th Dec.. so in the calendar, the same event should show on 20,21,22,23,24... days I believe here I am inserting the data in the Html template, i need to pass end time here that i don't know events_per_day = events.filter(start_time__day=day) d = '' for event in events_per_day: d += f'<li> {event.get_html_url} </li>' Tried alot but no success Below is the code : Models from django.db import models from django.urls import reverse class Event(models.Model): title = models.CharField(max_length=200) description = models.TextField() start_time = models.DateTimeField() end_time = models.DateTimeField() @property def get_html_url(self): url = reverse('cal:event_edit', args=(self.id,)) return f'<a href="{url}"> {self.title} </a>'} utils,py from datetime import datetime, timedelta from calendar import … -
Date form fields in Django with data-dependent-fields attribute error messages are not properly displayed
My requirement is to display error message when date difference between from and to date is more than 6 months. When I change the to_date field keeping from_date constant, errors are displaying when the range is greater than 6 months. But, when I change the from_date keeping to_date constant, error message is getting cleared for valid case and when I change the from_date to have difference more than 6 months error message is not getting displayed. I tried debugging the backend code too and error messages is getting added properly. It is only problem with displaying in frontend. Following is forms code from_date = forms.DateField( label=_("From Date"), required=False, widget=forms.DateInput( attrs={ 'class': 'date-field input-medium', 'data-dependent-fields': '#id_to_date', }, format="%m/%d/%Y" ) ) to_date = forms.DateField( label=_("To Date"), required=False, widget=forms.DateInput( attrs={ 'class': 'date-field input-medium', 'data-enable': 'true', 'data-dependent-fields': '#id_from_date' }, format="%m/%d/%Y" ) ) Following is backend code to add error messages if cleaned_data.get('from_date') and cleaned_data.get('to_date'): limit_date = cleaned_data.get('from_date') + relativedelta(months=+_(constants.DATE_RANGE_6M)) if limit_date < cleaned_data.get('to_date'): self._errors["to_date"] = self.error_class([_(constants.INVALID_DATE_RANGE_6M_ERROR)]) Non-Working case Working case Django Version is 1.11.18 -
can't make changes to database or create new one
everything worked fine till yesterday, i noticed that can't make changes or create new objects! that's not a .save() problem, cause i tried even through the Django admin and again got stuck for a while and then the 502 error page showed up! the project on my laptop works fine! the same project with the same version of postgresql (but in Pycharm) and i use cdn and ufw too. actually im not familiar with ufw and perhaps you could help me! thanks -
Django rest knox - Forbidden (CSRF cookie not set.)
I am using Django, rest, knox and while some things work (viewsets work well) I cannot get POST to work (without a viewset) without getting this error Forbidden (CSRF cookie not set.). Using GET I am able to retrieve fine, but POST/PUT produces this error. A few more details. When I use a viewset I can successfully POST/PUT and GET so all authentication pieces work well. However, it's when I am not using a viewset and using POST/PUT that I receive this error. -
Django 'ModelBase' object is not iterable TypeError
Getting the below from a unit test in Django. Can't seem to figure out the reason this is happening. My migrations look identical to the other migrations I have made. Also, I was able to run this on my local machine in the admin section, so my other question is is this big deal if it is happening during the test, if it can be pushed live. Trying to follow best practices here, so appreciate others opinions on that. models.py class LeadComplete(models.Model): """Complete lead info""" user = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.DO_NOTHING, ) title=models.CharField(max_length=255) time_minutes = models.IntegerField() score = models.DecimalField(max_digits=5, decimal_places=2) link = models.CharField(max_length=255, blank=True) client = models.ManyToManyField('Client') def __str__(self): return self.title serializers.py class LeadCompleteSerializer(serializers.ModelSerializer): """Serialize a leadComplete""" client = serializers.PrimaryKeyRelatedField( many=True, queryset=Client.objects.all() ) class Meta: model = LeadComplete fields = [ 'id', 'title', 'time_minutes', 'score', 'link', 'client', ] read_only_fields = ('id',) views.py class LeadCompleteViewSet(viewsets.ModelViewSet): """Manage LeadComplete in the database""" serializer_class = serializers.LeadCompleteSerializer queryset = LeadComplete.objects.all() authentication_classes = (TokenAuthentication,) permission_classes = (IsAuthenticated,) def get_queryset(self): """Retrieve the leadcomplete for the authed user""" return self.queryset.filter(user=self.request.user) test_lead_complete_api.py from django.contrib.auth import get_user_model from django.test import TestCase from django.urls import reverse from rest_framework import status from rest_framework.test import APIClient from core.models import LeadComplete from leads.serializers import LeadCompleteSerializer … -
Pass extra argument to auth url
I am trying to implement google allauth authentication. Before clicking this button to make google register a user: <a href="{% provider_login_url 'google' %}" type="submit">Registrarse with Google</a> I have this input field <input id="nombrelink" placeholder="specialname"></input> What that button does is automatically register and log the user in. I would like to pass this input parameter to the google button so that whenever someone creates an account, that inputs gets prepended to their database How can I pass an extra argument to that url? -
How to handle asynchronous tasks with queues defined on a user (or other attribute) basis with django and celery?
thank you for viewing my question. I am new to celery and I am trying to wrap my head around the world of threading and multiprocessing, but I cannot seem to find any info that fits my specific use case. Consider this, I have a django-rest-framework API for my personal trading software that receives post requests to perform a buy or sell order to my broker's REST API. Now, I want to make sure that my API can handle numerous concurrent requests and queue those requests and process those in the order that they were received. One task cannot happen before the other if finished because the next task will rely on database information that the former task has written. I have implemented a celery instance to process a FIFO queue. Here lies my question, lets say I have multiple strategies, and I don't want the queues from multiple strategies to be mixed in the same queue. I want an asynchronous queue per strategy. Do I now require multiple worker instances, or can I separate queues into one worker instance? What exactly would that syntax look like or what celery methods should I be looking in to? The post request … -
Django get_context( ) method. Does this exist?
I have looked through the Django docs and search the code but cannot find any details for a function called get_context(). However, I have seen it used in a few spots in the code. Is this a method that is available to use in Django or some internal method? I am not referring to get_context_data. Thanks -
Is it possible to query each and every fields in form_fields of abstractform in wagtail
Created some fields in abstract form through wagtail admin, now I want to query that each and every field to another template (profile page). any ideas? class FormField(AbstractFormField): page = ParentalKey('FormPage', on_delete=models.CASCADE, related_name='form_fields') class FormPage(AbstractEmailForm): intro = RichTextField(blank=True) thank_you_text = RichTextField(blank=True) content_panels = AbstractEmailForm.content_panels + [ FieldPanel('intro', classname="full"), InlinePanel('form_fields', label="Form fields"), FieldPanel('thank_you_text', classname="full"), MultiFieldPanel([ FieldRowPanel([ FieldPanel('from_address', classname="col6"), FieldPanel('to_address', classname="col6"), ]), FieldPanel('subject'), ], "Email"), ] -
'ManagementForm data is missing or has been tampered with' error at Django 3.1.3 occured to me
there. I had created CRUD form app which can upload multiple images optionally before. And then, when I tried to enter a post form page, Django returned to me the below error, ValidationError at /ads/ad/create ['ManagementForm data is missing or has been tampered with'] Request Method: GET Django Version: 3.1.3 Exception Type: ValidationError Exception Value: 'ManagementForm data is missing or has been tampered with' Exception Location: /~~~/lib/python3.8/site-packages/django/forms/formsets.py, line 92, in management_form So, what's happening on my app when a post created?? I'm showing a few parts of the python codes that seem to be related with this error following, views.py 8 # Create the form class. 9 class CreateForm(forms.ModelForm): 10 class Meta: 11 model = Ad 12 fields = ['title', 'category', 'text'] 13 14 class FilesForm(forms.ModelForm): 15 max_upload_limit = 2 * 1024 * 1024 16 max_upload_limit_text = naturalsize(max_upload_limit) ~ ~ 21 picture = forms.FileField(required=False, label='File to Upload <= '+max_upload_limit_text, 22 widget=forms.ClearableFileInput(attrs={'multiple': True})) 23 upload_field_name = 'picture' 24 25 26 class Meta: 27 model = Adfiles 28 fields = ['picture'] forms.py 93 class AdCreateView(LoginRequiredMixin, View): 94 template_name = 'ads/ad_form.html' 95 success_url = reverse_lazy('ads:all') 96 97 def get(self, request, pk=None): 98 FilesFormSet = formset_factory(FilesForm) 99 data = { 100 'form-TOTAL_FORMS': '1', 101 … -
Using login url to register an user
Im trying to implement google allauth authentication. I tried and realized that if I click on this button: <a href="{% provider_login_url 'google' %}" type="submit">Registrarse con Google</a> And choose a google account that hasn't been registered yet, allauth automatically registers and logs the user in. I have two questions: Is this a safe and proper way to register an user? How can I pass an extra argument to that url? -
how do I access a class if it's active in javascript
I'm working on a toast message setup where I can't access the classes if they're active and add space between the elements if multiple of em are in bound(maybe a margin of 15px) and display them on the bottom-corner of the screen(fixed) and make em disappear after 3 secs one by one. Thnx! Here's my code. {% if messages %} {% for message in messages %} {% if message.tags == 'success' %} <div class="color-green"> <div class="color-white"> <div class="icon-success"> <i class="fas fa-check icon"></i> </div> <div class="text"> <h2>{{message}}</h2> </div> </div> </div> {% elif message.tags == 'info' %} <div class="color-blue"> <div class="color-white"> <div class="icon-info"> <i class="fas fa-info icon"></i> </div> <div class="text"> <h2>{{message}}</h2> </div> </div> </div> {% elif message.tags == 'warning' %} <div class="color-orange"> <div class="color-white"> <div class="icon-warning"> <i class="fas fa-exclamation-circle icon"></i> </div> <div class="text"> <h2>{{message}}</h2> </div> </div> </div> {% elif message.tags == 'error' %} <div class="color-red"> <div class="color-white"> <div class="icon-cross"> <i class="fas fa-times icon"></i> </div> <div class="text"> <h2>{{message}}</h2> </div> </div> </div> {% endif %} {% endfor %} {% endif %} .color-green{ bottom: 0; position: absolute; background-color: #40ff00; box-shadow: 4px 4px 16px 0 rgba(0, 0, 0, 0.05); margin-bottom: 10px; margin-left: 15px; z-index: 4; border-radius: 4px; padding-left: 0.4em; } .color-blue{ bottom: 0; position: absolute; background-color: … -
Django ORM inside of AWS Lambda function
I am looking to move away from celery and start using AWS Lambda to generate my files and store into S3. After I save on S3, I would like to be able to save a reference to my Django Database (being hosted on RDS). Am I able to do this on Lambda? Or would an option be that I generate the file, save to s3 and send the reference to my currently hosted Django application? My app is currently being hosted on an EC2 instance. I know Zappa exists but am wondering if redeploying my entire application would be overkill. -
I am have trouble configuring my Django app for Heroku
I have a Django app that runs fine on my local machine so I want to upload it on Heroku I used the following video to guide me: https://www.youtube.com/watch?v=GMbVzl_aLxM but I am getting the followng error message when I run the following commands gunicorn core.wsgi [2020-12-18 02:29:16 +0200] [104166] [INFO] Starting gunicorn 20.0.4 [2020-12-18 02:29:16 +0200] [104166] [INFO] Listening at: http://127.0.0.1:8000 (104166) [2020-12-18 02:29:16 +0200] [104166] [INFO] Using worker: sync [2020-12-18 02:29:16 +0200] [104168] [INFO] Booting worker with pid: 104168 [2020-12-18 00:29:16 +0000] [104168] [ERROR] Exception in worker process Traceback (most recent call last): File "/home/snr/.local/share/virtualenvs/Music_Repo-DS3TLAOE/lib/python3.8/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker worker.init_process() File "/home/snr/.local/share/virtualenvs/Music_Repo-DS3TLAOE/lib/python3.8/site-packages/gunicorn/workers/base.py", line 119, in init_process self.load_wsgi() File "/home/snr/.local/share/virtualenvs/Music_Repo-DS3TLAOE/lib/python3.8/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi self.wsgi = self.app.wsgi() File "/home/snr/.local/share/virtualenvs/Music_Repo-DS3TLAOE/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi self.callable = self.load() File "/home/snr/.local/share/virtualenvs/Music_Repo-DS3TLAOE/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 49, in load return self.load_wsgiapp() File "/home/snr/.local/share/virtualenvs/Music_Repo-DS3TLAOE/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp return util.import_app(self.app_uri) File "/home/snr/.local/share/virtualenvs/Music_Repo-DS3TLAOE/lib/python3.8/site-packages/gunicorn/util.py", line 358, in import_app mod = importlib.import_module(module) File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 783, in exec_module File "<frozen importlib._bootstrap>", line … -
Nested variables in Django Templates
I'm not sure if it is variable or tag. I have two apps (different styles, different navbars) but want to print the same document from db. I created base.html, templates with extends and everything works perfectly. But. The body of template is filled from database, which is a part of html code. And in this code there's <p>The contact email is: blabla@firstapp.example.com</p> Of course this is wrong for secondapp. I tried to change body with <p>The contact email is: {{ app_email }}</p>, and set it with context But it doesn't work - it prints The contact email is: {{ app_email }} template/document.html: {% extends base %} {% load crispy_forms_tags %} {% load static %} {% block head %} <title>{{ title }}</title> {% endblock %} {% block content %} <div class="container"> <div class="row justify-content-center"> <div class="col-9"> <h1 class="mt-2">{{ document.header }} !!!</h1> <hr class="mt-0 mb-4"> {% autoescape off %} {{ document.body }} {% endautoescape %} </div> </div> </div> {% endblock %} firstapp.views.py: def myview(request): context = { 'app_title' : 'First', 'title' : 'First - document', 'app_name' : 'first', 'app_email' : 'contact@first.example.com', 'document' : get_document('document1'), 'base' : 'first/base.html' secondapp.views.py: def myview(request): context = { 'app_title' : 'Second', 'title' : 'Second - document', 'app_name' …