Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Django - React - Google Cloud Storage SigedURL upload is not working
I have used signedURL with jquery/ajax and Django for uploading to Google Cloud Storage previously successfully. However with the Django - React setup I have not been able to establish a successful. upload yet. export const UploadVideo = async (form_data, file, signedurl, asset_uuid) => { let resultState = { state: '', data: {} }; let config = { method: 'HOST', url: signedurl, headers: { 'Content-Type': 'video/mp4', "Access-Control-Allow-Origin": "*", 'Access-Control-Allow-Methods':'GET,PUT,POST,DELETE,PATCH,OPTIONS' }, data: form_data }; await axios(config).then(function (response) { console.log(JSON.stringify(response.data)); resultState.state = 'success'; }).catch(function (error) { resultState.state = 'error'; resultState.data.message = error.message; window.toastr.error(error.message); console.log(error) }) return resultState; } export const CreateAssets = async (data, key) => { let resultState = { state: '', data: {} }; await axios.get(`https://origin/asset/create/?category=1&title=%22` + data[key].title + `%22&size=1`) .then(res => { resultState.state = 'success'; resultState.data = res.data; }).catch((err) => { resultState.state = 'error'; resultState.data['message'] = err.message; }) return resultState; } The code for react js get singed url and calling signedurl with the file dialog is available. What shall I do for a succesful signedurl file upload to Google Cloud Storage ? -
Mypy complaining about Name "Optional" is not defined without the use of Optional
I've recently started using mypy, and have run into some weird problems that i cannot for the life of me seem to figure out. I'm using mypy 0.950, django-stubs 1.11.0, django 4.0.5 and python 3.10.2. Running mypy through the command line returns this: project/suppliers/models.py:6: error: Name "Optional" is not defined project/suppliers/models.py:6: note: Did you forget to import it from "typing"? (Suggestion: "from typing import Optional") project/users/models.py:6: error: Name "Optional" is not defined project/users/models.py:6: note: Did you forget to import it from "typing"? (Suggestion: "from typing import Optional") project/products/models.py:6: error: Name "Optional" is not defined project/products/models.py:6: note: Did you forget to import it from "typing"? (Suggestion: "from typing import Optional")(Suggestion: "from typing import Optional") However, line 6 in project/suppliers/models.py is completely empty: from django.contrib.sites.managers import CurrentSiteManager from django.contrib.sites.models import Site from django.db import models from django.utils.text import slugify from django.utils.translation import gettext_lazy as _ from django_countries.fields import CountryField from project.core.models import BaseImageModel, BaseModel from project.suppliers.managers import SupplierQuerySet _SupplierManager = models.Manager.from_queryset(SupplierQuerySet) class Supplier(BaseModel, BaseImageModel): ... Line 6 in project/users/models.py is a django import from django.contrib.contenttypes.models import ContentType: import random from typing import Any from django.conf import settings from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin from django.contrib.contenttypes.models import ContentType from django.contrib.sites.managers import CurrentSiteManager from django.contrib.sites.models … -
How can i change the Name of my Django App shown in Browser Window?
I want to change the name of my Django app shown in Browser Window (at the top in the tab) when running my website on a server. For me is not required to change the entire project name, I just want to change the name shown in the Browser: enter image description here -
convert function based view to class based view django
I am tried to do get form data by POST method in a variable and then try to validate it. I have done it with django function based view. But now I want to convert it into django class based vied. So can any one help to convert my following code to django class based view. from .forms import contact_form def contact_us(request): if request.method == "POST": form = contact_form(request.POST) # return HttpResponse(form) if form.is_valid(): return HttpResponse("Data is valid") else: return HttpResponse("Data is invalid") -
Django - Use Django Validators as standalone
How can I use Django validators component as standalone component in non-Django applications ? Currently I use Django ORM in my applications. manager.py import os from dotenv import load_dotenv load_dotenv() def init_django(): import django from django.conf import settings if settings.configured: return settings.configure( TIME_ZONE=False, INSTALLED_APPS=[ 'db', ], DATABASES={ 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': os.environ.get('db_name'), 'USER': os.environ.get('db_user'), 'PASSWORD': os.environ.get('db_password'), 'HOST': os.environ.get('db_host'), 'PORT': os.environ.get('db_port'), } } ) django.setup() if __name__ == "__main__": from django.core.management import execute_from_command_line init_django() execute_from_command_line() -
What is the best practice to write an API for an action that affects multiple tables?
Consider the example use case as below. You need to invite a Company as your connection. The sub actions that needs to happen in this situation is. A Company need to be created by adding an entry to the Company table. A User account needs to be created for the staff member to login by creating an entry in the User table. A Staff object is created to ensure that the User has access to the Company by creating an entry in the Staff table. The invited company is related to the invitee company, so a relation similar to friendship is created to connect the two companies by creating an entry in the Connection table. An Invitation object is created to store the information as to who invited who onto the system, with other information like invitation time, invite message etc. For this, and entry is created in the Invitation table. An email needs to be sent to the user to accept invitation and join by setting password. As you can see, entries are to be made in 5 Tables. Is it a good practice to do all this in a single API call? If not, what are the other … -
Change the django-rest-passwordrest confirm view
I've followed this tutorial to reset the user's password using the django-rest-passwordreset library and I was wondering if there's a way to update a user's field (called changed_password) once their password has been successfully changed. -
Deploy django react app to heroku: Migration error ?: (staticfiles.W004) The directory '/app/static' in the STATICFILES_DIRS setting does not exist
My deployed website right now just shows the Django Rest Framework Page with none of my css or data (https://ever-actor.herokuapp.com/api/lines/) I'm thinking it has something to do with the migrations because after running heroku run python manage.py migrate I get the following error: WARNINGS: ?: (staticfiles.W004) The directory '/app/static' in the STATICFILES_DIRS setting does not exist. Here is my settings.py: from pathlib import Path import dotenv import dj_database_url import os from decouple import config BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) dotenv_file = os.path.join(BASE_DIR, ".env") if os.path.isfile(dotenv_file): dotenv.load_dotenv(dotenv_file) SECRET_KEY = config('SECRET_KEY') # SECURITY WARNING: don't run with debug turned on in production! DEBUG = False ALLOWED_HOSTS = ['localhost', '127.0.0.1:8000', 'ever-actor.herokuapp', ] CSRF_TRUSTED_ORIGINS = ['http://localhost:8000'] CORS_ORIGIN_WHITELIST = [ 'http://localhost:8000', ] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_extensions', 'api.apps.ApiConfig', 'rest_framework', 'corsheaders', ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage' ROOT_URLCONF = 'ever_actor.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ # BASE_DIR / 'ever-react/build' os.path.join(BASE_DIR, 'build'), ], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] WSGI_APPLICATION = 'ever_actor.wsgi.application' # Database DATABASES = {} DATABASES['default'] = dj_database_url.config(conn_max_age=600) # Password validation # https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { … -
Update api for a User Model and OnetoOne Profile model in Django Rest Framework
I have one model called profile which is related to Django User Model through one to one relationship. I want to create an api endpoint which will accept all the data and update both the tables whenever required. Models.py class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) manager = models.ForeignKey( User, on_delete=models.SET_NULL, null=True, blank=True, related_name="manager" ) middle_name = models.CharField(max_length=50, blank=True) fpo = models.ForeignKey(Fpo, on_delete=models.CASCADE, null=True, blank=True) image = models.ImageField( upload_to="profile_images", blank=True, null=True, default=None, verbose_name="Profile Image", ) type = models.IntegerField( choices=UserTypeChoice.choices, default=UserTypeChoice.FARMER, verbose_name="User Type", ) gender = models.PositiveSmallIntegerField( choices=GenderChoice.choices, null=True, blank=True ) date_of_birth = models.DateField(null=True, blank=True) pincode = models.CharField( max_length=6, verbose_name="Pincode", blank=True, null=True, ) gat_no = models.CharField( max_length=20, verbose_name="GAT No", blank=True, null=True, ) landholding_in_acre = models.DecimalField( max_digits=10, decimal_places=2, default=0, ) is_member = models.BooleanField(default=False) serializers.py class ProfileSerializer(serializers.ModelSerializer): class Meta: model = Profile fields = ( "middle_name", "manager", "fpo", "type", "date_of_birth", "gender", "gat_no", "landholding_in_acre", "landholding_registred_in_acre", "plotting_in_acre", "is_member", ) views.py class FarmersDetailView(generics.RetrieveUpdateDestroyAPIView): serializer_class = FarmerDetailsSerializer permission_classes = (permissions.IsAuthenticated,) authentication_classes = (TokenAuthentication,) def get_queryset(self): if self.request.user.is_authenticated: if self.request.user.profile.type == 3: return User.objects.filter(profile__type=4, manager=self.request.user) return User.objects.filter(profile__type=4) return User.objects.none() Not able to update with a single api. So here i want to update both profile and user models at the same time through a single endpoint. When I'll be … -
How to setup search in django-admin changelists in models related through ForeignKeys?
I have created the following four model classes: class InfrastructureModel(models.Model): ENTRY_ACTIVE_YES_NO_CHOICES = ( (True, 'Yes'), (False, 'No')) entryActiveYesNo = models.BooleanField(r"Is this database entry still active? (YES/NO)", null=False, blank=False, unique=False, choices=ENTRY_ACTIVE_YES_NO_CHOICES, help_text=r"Is this database entry still active? If it's been changed/modified to something else, mark this as False.") class AirportAdministrativeData(InfrastructureModel): officialAirportName=models.CharField(r"Airport's Official Name", max_length=100, null=False, blank=False, unique=True, help_text=r"Offical name of the Airport") def __str__(self): return self.officialAirportName class AirportAlternateName(InfrastructureModel): parentAirport=models.ForeignKey(AirportAdministrativeData,on_delete=models.RESTRICT,limit_choices_to={'entryActiveYesNo': True},verbose_name="Parent Airport",related_name='AirportOfficialName') alternateAirportName=models.CharField(r"Airport's Alternate Name", max_length=100, null=False, blank=False, unique=True, help_text=r"Alternate name of the Airport, if any.") class AirportLocation(InfrastructureModel): parentAirport=models.ForeignKey(AirportAdministrativeData,on_delete=models.RESTRICT,limit_choices_to={'entryActiveYesNo': True},verbose_name="Parent Airport") latitude=models.DecimalField(max_digits=9, decimal_places=6) longitude=models.DecimalField(max_digits=9, decimal_places=6) airportAddress=models.CharField(r"Airport's Address", max_length=200, null=False, blank=False, unique=True, help_text=r"Airport's Address") airportState=models.ForeignKey(State,on_delete=models.RESTRICT,limit_choices_to={'entryActiveYesNo': True},verbose_name="State") And their corresponding Admin classes are as follows: class AirportAdministrativeDataAdmin(admin.ModelAdmin): fields = ['officialAirportName', 'entryActiveYesNo'] list_display = ('officialAirportName', 'entryActiveYesNo') search_fields = ['officialAirportName'] search_help_text="Seach here for offical/alternate name of any airport in the Database." class AirportAlternateNameAdmin(admin.ModelAdmin): fields = ['parentAirport', 'alternateAirportName', 'entryActiveYesNo'] list_display = ('parentAirport', 'alternateAirportName', 'entryActiveYesNo') search_fields = ['alternateAirportName'] search_help_text="Seach here for offical/alternate name of any airport in the Database." class AirportLocationAdmin(admin.ModelAdmin): fields = ['parentAirport', 'latitude', 'longitude', 'airportAddress', 'airportState', 'entryActiveYesNo'] list_display = ('parentAirport', 'latitude', 'longitude', 'airportAddress', 'airportState', 'entryActiveYesNo') #search_fields = ['parentAirport'] search_help_text="Seach here for offical/alternate name of any airport in the Database." And their corresponding admin site registrations are … -
How to translate the name of permission in django
i have a question. When i add a group in django admin the permissions are displayed in English (can add, change etc) but i want to translate those permissions to in french since my website is based on django admin How can I do that? -
Django - Custom model cannot appear on User model
I have created a model in Django v4, and I want to show the information inside the User admin view. After migrating, a new table was created successfully and data is being stored. Here is the code: models.py from django.db import models from django.contrib.auth.models import User class Profile(models.Model): user = models.OneToOneField( User, on_delete=models.CASCADE ) address = models.CharField( max_length=20, blank=True, null=True ) def __str__(self): return self.user.username admin.py from django.contrib import admin from django.contrib.auth.models import User from .models import Profile class ProfileInline(admin.StackedInline): model = Profile can_delete = False verbose_name_plural = 'Extra Information' @admin.register(ProfileInline) class UserAdmin(admin.ModelAdmin): inlines = [ ProfileInline, ] The table that has been created has the following stored: id address user_id 3 Test 2 Where the user_id column, is a foreign key from the auth_user table, which is created automatically (I guess?). Now, when I try to run, makemigrations, etc, it shows me the following: AttributeError: type object 'ProfileInline' has no attribute '_meta' What is the proper way to have the information appended to the User, as the default sections do? -
Django + Caddy = CSRF protection issues
I deployed a Django 4 app with Daphne (ASGI) in a docker container. I use Caddy as a reverse proxy in front. It works, except I can't fill in any form because the CSRF protection kicks in. So no admin login, for example. I can currently access the admin interface in two ways: Directly through docker, via a SSH tunelled port Through Caddy, which is then forwarding to the Docker container. Option 1 works. I can log into the admin interface just as if I was running the development server locally. All is working as expected. However, option 2 (caddy reverse proxy) doesn't work. I can access Django and load pages, but any form submission will be blocked because the CSRF protection kicks in. CSRF verification failed. Request aborted. Reason given for failure: Origin checking failed - https://<mydomain.com> does not match any trusted origins. My Caddyfile contains this: <mydomain.com> { reverse_proxy localhost:8088 } localhost:8088 is the port exposed by my docker container. In an effort to eliminate potential issues, I've set the following to false in my config file: SECURE_SSL_REDIRECT (causes a redirect loop, probably related to the reverse proxying) SESSION_COOKIE_SECURE (I'd rather have it set to True, but I … -
Django Tenants superuser creation
When we create a superuser per scheme via ./manage.py create_tenant_superuser --username=admin2 --schema=client2 The created super user can also login to "public" schema's admin page as well as other schema's admin pages. While it can NOT edit other tenants' data it can modify the other super tenants information such as password's created under other schemas. So is this the expected behavior? should each tenant have their own ,fully isolated admin page under /Admin? -
I have a problem with Django database. in model
I have specified that my bio and image fields can be empty, but why does it give me an error and say that I have to fill it in? class User_account(models.Model): email = models.EmailField() fullname = models.CharField(max_length=30) username = models.CharField(max_length=20) password = models.CharField(max_length=30) marital_status = models.BooleanField(default=False) bio = models.CharField(null=True, max_length=200) visitor = models.IntegerField(default=0) image = models.ImageField(null=True, upload_to='profile_img') -
react : unexpected token < in JSON at position 0 with api call to django restframework
I have a react app running ok when i put yarn start, but giving me this error when I do yarn build and serve -s build : Unexpected token < in JSON at position 0 The code in question is: fetch("/api/blog/tags/?format=json") .then(response=>{ if (response.ok){ return response; } else{ var error= new Error('Error '+response.status+': '+response.statusText) error.response = response; throw error; } }, I have tried to change the api call adding ?format=json like this : /api/blog/tags/?format=json But I still have this error. From the many posts on the subject, i have seen it is caused by a body page in html when the fetch method is expecting json. But i dont know where to investigate to debug this now. Thank you -
AccessDeniedError at /auth/convert-token (access_denied) Your credentials aren't allowed <oauthlib.Request SANITIZED>
I am using Django 4.0 with python 3.9 and I installed drf-social-oauth2 in my app. I was using the now depreciated gapi Oauth2 for google login and it worked fine. Then I started getting warnings in my console that it'll not be in use for some time to come so I changed to the new google Identity Service(gsi client). What I used to get from gapi was an access_token which I use to verify users on my backend. now I get a credential jwt which I'm supposed to decode to get user details. when I send this code to the /auth/convert-token/ end point, I get AccessDeniedError at /auth/convert-token (access_denied) Your credentials aren't allowed <oauthlib.Request SANITIZED> all my details are correct and I'm stuck. Tested this using vscode thunder client. -
How do I edit my serializer create() method to make relationship to nested object in Django REST Framework?
In my app, Groups are created by Users class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ["user_id", "username"] class GroupSerializer(serializers.ModelSerializer): owner = UserSerializer() class Meta: model = Group fields = ["name", "picture_url", "owner", "members"] def create(self, validated_data): owner_data = validated_data.pop("owner") user = User.objects.filter(user_id=owner_data.get("user_id")) instance = Group.objects.create(**validated_data) instance.owner = user instance.save return instance I'm trying to have it so that I can create a Group object, which can only have an existing User as its owner, but somehow when I post the following: "owner": { "user_id":6 }, "picture_url":"nothing", "name":"jazz club" } It returns this: { "owner": { "user_id": [ "user with this user id already exists." ], "username": [ "This field is required." ] } } For context, my post method looks like this: def post(self, request): new_group = request.data new_group["members"] = [] serializer = self.serializer_class(data=new_group) serializer.is_valid(raise_exception=True) serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) And my models look like this: class User(models.Model): id = models.BigAutoField(primary_key=True, unique=True) user_id = models.BigIntegerField(unique=True) username = models.CharField(max_length=100) class Group(models.Model): name = models.CharField(max_length=255, unique=True) picture_url = models.CharField(max_length=255) owner = models.ForeignKey( User, on_delete=models.CASCADE, related_name="owned_groups", blank=True, ) members = models.ManyToManyField(User, related_name="groups", blank=True) What do I need to change to make this work? I've tried a lot of different stuff. -
Django-import-export not importing csv or excel file in The Django admin site panel?
I am using the Django-import-export module in Django(version 4.0.1). I have 2 different tables named State and District the district model is using state_name as ForeignKey The fields in state table can be imported from the Django admin site panel without any issue as: but district attributes can not be imported via csv/excel file and the error is as follows: Line number: 1 - State matching query does not exist. ANDAMAN AND NICOBAR ISLANDS, NICOBARS Traceback (most recent call last): File "C:\Python_Abhilash\AppData\Local\Programs\Python\Python310\lib\site-packages\import_export\resources.py", line 667, in import_row instance, new = self.get_or_init_instance(instance_loader, row) File "C:\Python_Abhilash\AppData\Local\Programs\Python\Python310\lib\site-packages\import_export\resources.py", line 359, in get_or_init_instance instance = self.get_instance(instance_loader, row) File "C:\Python_Abhilash\AppData\Local\Programs\Python\Python310\lib\site-packages\import_export\resources.py", line 352, in get_instance return instance_loader.get_instance(row) File "C:\Python_Abhilash\AppData\Local\Programs\Python\Python310\lib\site-packages\import_export\instance_loaders.py", line 29, in get_instance params[field.attribute] = field.clean(row) File "C:\Python_Abhilash\AppData\Local\Programs\Python\Python310\lib\site-packages\import_export\fields.py", line 66, in clean value = self.widget.clean(value, row=data, **kwargs) File "C:\Python_Abhilash\AppData\Local\Programs\Python\Python310\lib\site-packages\import_export\widgets.py", line 406, in clean return self.get_queryset(value, row, *args, **kwargs).get(**{self.field: val}) File "C:\Python_Abhilash\AppData\Local\Programs\Python\Python310\lib\site-packages\django\db\models\query.py", line 439, in get raise self.model.DoesNotExist( damuwhatsapp.models.State.DoesNotExist: State matching query does not exist. The model.py is as: from django.db import models #################################################################################### class State(models.Model): state_name = models.CharField(max_length=30) class Meta: db_table = 'State_Names' def __str__(self): return self.state_name #################################################################################### class District(models.Model): state_name = models.ForeignKey(State, on_delete=models.CASCADE) district_name = models.CharField(max_length=30) class Meta: db_table = 'District_Names' def __str__(self): return self.district_name The resources.py … -
connect ECONNREFUSED 127.0.0.1:9000 vscode error for dockerized project
Im trying to use debugpy in vscode for dockerized Django project, but i got this error i put port 9000 in docker compose and my remoteroot is correct this is my launch.json { "version": "0.2.0", "configurations": [ { "name": "Run Django", "type": "python", "request": "attach", "justMyCode": false, "pathMappings": [ { "localRoot": "${workspaceFolder}", "remoteRoot": "/s" } ], "port": 9000, "host": "localhost", } ] } i couldnt find problem, can u help me? thanks in advance -
Correct way of writing a filter query on a geodjango model (finding out if a multipolygon field contains a point)
I am new to geodjango and am trying to build an application after going through the tutorial. So, I have this model: from django.contrib.gis.db import models class CountryBorder(models.Model): f_code = models.CharField(max_length=5) name = models.CharField(max_length=254) .... .... #the multipolygonfield on which I want to perform lookup geom = models.MultiPolygonField(srid=4326) def __str__(self): return self.name and I am trying to find the model instance which contains (the model.geom field contains) a point. I tried doing that as described in the documentation: from app_name.models import CountryBorder from django.contrib.gis.geos import Point pnt = Point(23.1827, 75.7682) CountryBorder.objects.get(geom_contains=pnt) But I get the following error message: django.core.exceptions.FieldError: Cannot resolve keyword 'geom_contains' into field. Choices are: f_code, geom,name..... Am I missing something? -
Django Rest Framework @api_view(['POST])
Is there way to return default content in function based @api_view(['POST']) Like a class based generics.CreateAPIView enter image description here -
Django's prefetch_related method asynchronously blocking HTTP response
Does Django's prefetch_related method block the thread returning the http response in some sort of async way? def test_view(request): rows = SomeModel.objects.prefetch_related('some_m2m_field') num_rows = len(rows) print(num_rows) return JsonResponse({'num_rows':num_rows}) I know that the correct way to get the number of rows is .count(), I'm using len() here as a simple way to force evaluation of the queryset. In reality, I'm not even interested in the number of rows, just doing this as a simplification so that we don't have to get into my business logic. So, here's the goofy thing, when running on a DB with ~25k rows the above code will print the number to the terminal in just a second or two, but it will take over a minute to return the JSON to the browser!? When you remove the prefetch_related, everything happens nice and snappy, but I need that prefetch_related for my actual business logic, which has been omitted here for simplicity. I understand that the prefetch is going to make the query slower, but something else has to be going on here right? if it were just a slow query the print statement would take just as long as the JsonResponse? -
ModuleNotFoundError: No module named 'blog.settings' Django
I'm trying to create a simple blog app in Django. But, the problem is I keep getting an error when I try to run server: ModuleNotFoundError: No module named 'blog.settings' So far, I've checked the INSTALLED_APPS and urls.py and found no isssue with any of them. Basically, I don't know why am I am getting this error, so I would just list the some contents of my project: . └── my_site ├── blog │ ├── admin.py │ ├── apps.py │ ├── __init__.py │ ├── migrations │ │ ├── __init__.py │ │ └── __pycache__ │ │ └── __init__.cpython-38.pyc │ ├── models.py │ ├── __pycache__ │ │ ├── admin.cpython-38.pyc │ │ ├── apps.cpython-38.pyc │ │ ├── __init__.cpython-38.pyc │ │ ├── models.cpython-38.pyc │ │ ├── urls.cpython-38.pyc │ │ └── views.cpython-38.pyc │ ├── static │ │ └── blog │ │ ├── includes │ │ ├── index.css │ │ ├── post.css │ │ └── posts.css │ ├── templates │ │ └── blog │ │ ├── includes │ │ ├── index.html │ │ ├── post.html │ │ └── posts.html │ ├── tests.py │ ├── urls.py │ └── views.py ├── db.sqlite3 ├── manage.py ├── my_site │ ├── asgi.py │ ├── __init__.py │ ├── __pycache__ │ │ ├── … -
Azure deployed django app not displaying media files on Vuejs frontend in prooduction
These are the packages that I am using Django==3.2 django-storages==1.12.3 I am trying to deploy a django REST API with Vuejs frontend on azure. This is my directory structure for the django API. I have used djang-storages[azure] to use an azure container blob to store media files. I went through a tutorial to setup the blob connection with django. Some configuration that I did with settings.py are these Settings.py MEDIA_LOCATION = "media" AZURE_ACCOUNT_NAME = "my account name" AZURE_ACCOUNT_KEY="my token" AZURE_CUSTOM_DOMAIN = f'{AZURE_ACCOUNT_NAME}.blob.core.windows.net' AZURE_LOCATION="media" AZURE_CONTAINER="media" STATIC_LOCATION = "static" STATIC_URL = f'https://{AZURE_CUSTOM_DOMAIN}/{STATIC_LOCATION}/' STATICFILES_STORAGE = 'storages.backends.azure_storage.AzureStorage' DEFAULT_FILE_STORAGE = 'el.custom_azure.AzureMediaStorage' AZURE_CONNECTION_TIMEOUT_SECS=100 and my custom_azure.py looks like this custom_azure.py from storages.backends.azure_storage import AzureStorage class AzureMediaStorage(AzureStorage): account_name="eltechstorage" account_key="my token" azure_container="media" expiration_specs=None urls.py from django.contrib import admin from django.urls import path,include from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.conf import settings from django.conf.urls.static import static urlpatterns = [ path('admin/', admin.site.urls), path("",include("main.urls")) ] urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) When I am using azure blob container to upload media files it is working perfectly in development environment and when I am testing the API from the deployed url, it is giving me the path of the file as expected on which if i go to, downloads the file for me, everything is …