Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Compressed CSS files generated by django-compressor/libsass are not served on the first launch of the server, but are served on subsequent launches
I'm working on a Django app for the first time and I had reached a stage where I was feeling comfortable with the app's functioning in the development environment. To deploy I had to set DEBUG=False which brought some challenges. I learnt that the production servers won't serve static files the same way the development server does. I learnt the use of the py manage.py collectstatic command. I set up WhiteNoise, and upto this point I had no issues running the app in the development server with DEBUG=False. The last hurdle that remained was to serve scss files, as css. For this I used the django-libsass module. I setup the django-compressor, adding 'compressor' to list of INSTALLED_APPS, setting STATICFILES_FINDERS and COMPRESS_PRECOMPILERS as follows: STATICFILES_FINDERS = [ 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder', ] COMPRESS_PRECOMPILERS = ( ('text/x-scss', 'django_libsass.SassCompiler'), ) Finally, I updated the template with the required {% compress css %} tags. On running collectstatic I notice that the files are generated in the appropriate folder /static/CACHE/css/output.RANDOM_NUM.css. This is where the odd issue happens. The first time I run the development server, the CSS file isn't served: WARNING - Not Found: /static/CACHE/css/output.RANDOM_NUMBER.css The request returns a 404. This is despite me being able … -
Django app button with two functionalities
I am building a Django app and on one of the HTML sheets I have a submit button that runs a function in views.py when clicked. <input type="submit" id="senden" class="inputfiles"/> <button for="senden" class="button" id="weiter_btn" >Submit</button> But I want it to first run a javascript function on the client-side and then go on and run the function in views.py. I tried to add onclick to the button element but that didn't work. <input type="submit" id="senden" class="inputfiles"/> <button for="senden" onclick="example()" class="button" id="weiter_btn" >Submit</button> Should I maybe create another hidden button that runs the js function and then somehow connect it to the submit button? -
Django Upload Folder is always Empty (This field is required issue)
I would like to upload a folder to my application but on the server side the request.FILES collection is always empty. Also form.is_valid doesn't work The solution for this problem seems to be to add enctype="multipart/form-data" but I have already added it an it doesn't work. Inside the browser I also get "This field is required" after pressing submit and yes I have choosen a directory. Here is my Dataset Model # Create your models here. class Datasets(models.Model): dataset_name = models.CharField(max_length=100, blank=True, null=True) description = models.CharField(max_length=1000, blank=True, null=True) share_with = models.ManyToManyField(User) uploaded_by = models.CharField(max_length=1000, blank=True, null=True) upvotes = models.IntegerField(null=False, default=0) downvotes = models.IntegerField(null=False, default=0) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) datafiles = models.FileField(blank=True, null=True) This is my form.py class UploadDatasetForm(forms.Form): dataset_name = forms.CharField( max_length=1000, widget=forms.TextInput(attrs={'class': 'form-control'})) description = forms.CharField( max_length=1000, widget=forms.TextInput(attrs={'class': 'form-control'})) share_with = forms.MultipleChoiceField( choices=tuple(UserProfile.objects.values_list('id', 'full_name')), widget=forms.CheckboxSelectMultiple, ) datafiles = forms.FileField(widget=forms.ClearableFileInput( attrs={ 'multiple': True, 'webkitdirectory': True, 'directory': True, })) My HTML-Template {% block content %} <h2>Register Here</h2> <form method="post" enctype="multipart/form-data"> {% csrf_token %} {{ form.as_p }} <button type="submit">Register</button> </form> And here is my view.py @login_required def upload_dataset(request): print(request.user) form = UploadDatasetForm() if request.method == "POST": print('Receiving a post request') form = UploadDatasetForm(request.POST, request.FILES) print(request.FILES) if form.is_valid(): print("The form is … -
Get empty row after importing a dataset
I am importing a file with django-import-export and I want to take the values of each row. def get_import_data(file): hr_dataset = Dataset() return hr_dataset.load(file.read(), format='xlsx', headers=True) def upload_hr_file(request): if request.method == 'POST': hr_file = request.FILES['hr-file'] data = get_import_data(hr_file) hr_resource = HREmployeeResource() result = hr_resource.import_data(data, dry_run=True, raise_errors=True) if not result.has_errors(): result = hr_resource.import_data(data, dry_run=False, raise_errors=True) for row in result.rows: print(row.raw_values) return render(request, 'core/upload-hr-file.html', {}) I iterate through the rows of the Result with result.rows and each row seems to have a raw_values property but it returns an empty dict. Please, how can access the values of each row? Thank you in advance. -
How do I avoid invalidating my CDN cache whenever I add a new blog post to my database?
I am using Django REST API as a backend to a blog, with the front end in React hosted separately. I have the React front end behind Cloudfront, acting as a CDN. Whenever I want to add a new blog post / add any new record in my DB, I need to invalidate my cache for it to actually appear on the site. I understand why this happens. I want to know how I can avoid this, and still get the benefits of caching without wiping my whole cache everytime I want to see my new content. -
Django filter ORM Q
I write this query day_l = DAYLeave.objects.filter(user=request.user, Q(start_date__range=[sd, ed]) | Q(end_date__range=[sd, ed])) sd and ed are Date like '2021-04-06' when I execute I get this error SyntaxError: positional argument follows keyword argument user ---> foreignkey User table if I remove user=request.user its work but my main query I get error -
How to get Jenkins to show on port 8080 with Nginx, Gunicorn?
I'm trying to set up Jenkins so that I can set up a pipeline on an existing website, but Jenkins does not show up on port 8080. My project website has been up and running for several months. I'm using Nginx, Gunicorn, Ubuntu 20.04, and Django on an AWS EC2 instance. I'm now trying to set up a pipeline that includes a test/beta environment. This requires Jenkins as per the AWS tutorials. I followed the example from Digital Ocean and this example from Digital Ocean. When I try the URL https://theafricankinshipreunion.com:8080/, it says the site cannot be reached. When I try the URL https://theafricankinshipreunion.com (without the port), it takes me to the Unlock Jenkins page. After I enter the password from sudo cat /var/lib/jenkins/secrets/initialAdminPassword, the web browser just goes to a blank page. Looking at the page source, this page is the Setup Wizard[Jenkins] page, but the display is blank. The results from sudo systemctl status jenkins is active. The results from sudo ufw status for port 8080 is ALLOW. On AWS, the EC2 inbound rules inclues port 8080 TCP 0.0.0.0/0 and ::/0. So it appears that port 8080 is good. Checking for port use, netstat -nlp | grep 8080 … -
Django: Creating endpoint for fetching subcategories within a category
I am new to Django and wanted to create an endpoint that allows me to push all the existing subcategories within a category. I have seen methods where one can fetch specific data points within a given category but I am confused about how to create such custom endpoints. Here's my Serializers: class CategorySerializer(serializers.ModelSerializer): class Meta: model = Category fields = ('id', 'categoryType') class SubCategorySerializer(serializers.ModelSerializer): categoryTitle = serializers.CharField(source="categoryType.categoryType", read_only=True) class Meta: model = SubCategory fields = ('id', 'categoryTitle', 'subcategoryType') #fields = '__all__' Here's my model: class Category(models.Model): categoryType = models.CharField(max_length=100,blank = False, unique = True, null = False) def __str__(self): return self.categoryType class SubCategory(models.Model): subcategoryType = models.CharField(max_length=100) categoryType = models.ForeignKey(Category,on_delete=models.CASCADE, null = True, related_name='category_type') def __str__(self): return f'{self.categoryType} :: {self.subcategoryType}' When I hit subcategory endpoint, I get the data in following format: [ { "id": 2, "categoryTitle": "Electronics", "subcategoryType": "Mobile" }, { "id": 3, "categoryTitle": "Electronics", "subcategoryType": "Tablet" }, { "id": 4, "categoryTitle": "Electronics", "subcategoryType": "HardDisk" }, { "id": 5, "categoryTitle": "Electronics", "subcategoryType": "Laptop" }, { "id": 6, "categoryTitle": "Sports", "subcategoryType": "Tennis" }, { "id": 7, "categoryTitle": "Sports", "subcategoryType": "Cricket" }, { "id": 8, "categoryTitle": "Sports", "subcategoryType": "Football" }, { "id": 9, "categoryTitle": "Sports", "subcategoryType": "BasketBall" } ] but what … -
Need TableField option in Django
I'm planning to create a page for mechanical design. The page will have lot of calculations. Assume for car design the user can add lot of design files, like engine design, exhaust design, brake design, etc. class DesignFile(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) name = models.CharField(_("File Name"), blank=True, max_length=255) calc_type = models.TextField(verbose_name="Calculation Type") User can create the file like, DesignFile(name='AudiEngine', calc_type='Engine') DesignFile(name='BMWEngine', calc_type='Engine') DesignFile(name='BMWExhaust', calc_type='Exhaust') DesignFile(name='GeneralBrake', calc_type='Brake') DesignFile(name='HandBrake', calc_type='Brake') Also i have different models for each calculations because all the inputs will be different. And Each calculations will have many rows. class EngineTable(models.Model): file = ForeignKey(DesignFile) class EngineRow(models.Model): table = ForeignKey(EngineTable) bore_dia = models.IntegerField() stoke_length = models.IntegerField() ... class BrakeTable(models.Model): file = ForeignKey(DesignFile) class BrakeRow(models.Model): table = ForeignKey(BrakeTable) material = models.CharField(max_length=30, blank=True, null=True) shoe_type = models.CharField(max_length=30, blank=True, null=True) ... So each calculation will link with any one DesignTable, and in that design there will be many rows linked to it. My Doubt is how to dynamically link the DesignFile to different Table model. I need kind of TableField in django. And I am using Django Rest Framework, So if I got to DesignFile it should give all the rows to that particular calculation -
Schedule a task on given date and time using Dango qcluster
I am trying to create events on given date and time using django qcluster but I am having trouble with as I do not have much experience with qcluster. what I am trying is- from django_q.tasks import schedule def event_scheduler(event_id, meeting): meeting_object = Event.objects.get(event_id) time = meeting_object.schedule_time # schedule event at this time task = schedule(meeting.start(), schedule_type=Schedule.ONCE, repeats=1, next_run=() #time for creating event example: 5 UTC 25 July 2021 ) How do i put '5 UTC 25 July 2021' on next run ? or is my method correct ? -
Can I easily retrospectively link ReactJS code to Django
I am writing my A-level computer science project and am looking to write the front end of an inventory management system with ReactJS. I am looking to start by writing the backend in Django, as I do not currently know much JavaScript. The question I am asking is whether it would be feasible to write the Django back-end now, and link in a JavaScript-based front end later using the Django REST API after the back-end has already been written. If I were to do this, is there anything I need to bear in mind? Sorry if this is a dumb question, I am very new to full-stack development. Any help is appreciated :) -
How to display strings containing a "\n" in Django HTML template
I can not find a way to use string variable containing a \n in Django HTML templates. This is my template: <body> <textarea id="my-text"></textarea> </body> <script> document.getElementById("my-text").value = "{{ message }}"; </script> with message = "Message containing a \n character" When Django renders the template, it generates an HTML like this one: <body> <textarea id="my-text"></textarea> </body> <script> document.getElementById("my-text").value = "Message containing a character"; </script> and the Javascript does not work. Is there a way to fix this? -
Django makemigrations KeyError: 'content_type'
Last time I changed the data model locally and tried to push it to production and migrate the database there I've got the following response from the makemigrations command: Traceback (most recent call last): File "manage.py", line 15, in <module> execute_from_command_line(sys.argv) File "/home/JoshuaMSchmidt/.virtualenvs/env/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line utility.execute() File "/home/JoshuaMSchmidt/.virtualenvs/env/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/JoshuaMSchmidt/.virtualenvs/env/lib/python3.7/site-packages/django/core/management/base.py", line 330, in run_from_argv self.execute(*args, **cmd_options) File "/home/JoshuaMSchmidt/.virtualenvs/env/lib/python3.7/site-packages/django/core/management/base.py", line 371, in execute output = self.handle(*args, **options) File "/home/JoshuaMSchmidt/.virtualenvs/env/lib/python3.7/site-packages/django/core/management/base.py", line 85, in wrapped res = handle_func(*args, **kwargs) File "/home/JoshuaMSchmidt/.virtualenvs/env/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 201, in handle pre_migrate_state = executor._create_project_state(with_applied_migrations=True) File "/home/JoshuaMSchmidt/.virtualenvs/env/lib/python3.7/site-packages/django/db/migrations/executor.py", line 79, in _create_project_state migration.mutate_state(state, preserve=False) File "/home/JoshuaMSchmidt/.virtualenvs/env/lib/python3.7/site-packages/django/db/migrations/migration.py", line 87, in mutate_state operation.state_forwards(self.app_label, new_state) File "/home/JoshuaMSchmidt/.virtualenvs/env/lib/python3.7/site-packages/django/db/migrations/operations/fields.py", line 158, in state_forwards old_field = model_state.fields.pop(self.name) KeyError: 'content_type' Now I am not able to move forward or backwards and am stuck with the current data model on the server. Can I somehow drop all old migration files from the production server and start again clean from the current database? To be honest I am not really sure what the Error means Happy to supply additional Information as I also dont really know where to start. -
Details not showing up - Can someone please tell me what is wrong with my code?
I am creating a system where the user can view others complaints and view the complaint details as well but not edit them. views.py: class ViewParticularComplaint(TemplateView): model = Complaint form_class = ComplaintForm template_name = 'viewusercompaint.html' def get_queryset(self, *args, **kwargs): context = super().get_context_data(*args, **kwargs) context["complaints"] = self.model.objects.exclude(user = self.request.user) return context template: <form class="" action="" method="POST" enctype="multipart/form-data"> {% csrf_token %} <p class="sub-typ-wr">Submit Type</p> <a href="/Login/Add-Complaint/Document-Style/"><button type="button" class="btn btn-secondary document-btn">Document</button></a> <div class="rep-num"> <label class="written-label" for="">Report Number</label> <div class="written-txt-field">{{complaints.reportnumber}}</div> </div> <div class="eve-dte"> <label class="written-label" for="">Event Date</label> <div class="written-txt-field">{{form.eventdate}}</div> </div> <div class="eve-typ"> <label class="written-label" for="">Event Type</label> <div class="written-txt-field">{{form.event_type}}</div> </div> <div class="dev-pro"> <label class="written-label" for="">Device Problem</label> <div class="written-txt-field">{{form.device_problem}}</div> </div> <label class="written-label eve-txt" for="">Event Text</label> <div class="Manufacturer"> <label class="written-label" for="">Manufacturer</label> <div class="written-txt-field">{{form.manufacturer}}</div> </div> <div class="pro-code"> <label class="written-label" for="">Product Code</label> <div class="written-txt-field">{{form.product_code}}</div> </div> <div class="brand-name"> <label class="written-label" for="">Brand Name</label> <div class="written-txt-field">{{form.brand_name}}</div> </div> <div class="exem"> <label class="written-label" for="">Exemption</label> <div class="written-txt-field">{{form.exemption}}</div> </div> <div class="pat-pro"> <label class="written-label" for="">Patient Problem</label> <div class="written-txt-field">{{form.patient_problem}}</div> </div> <div class="comp-textarea">{{form.event_text}}</div> <button type="button" class="btn btn-secondary attach-btn-1"><div class="fas fa-file-upload">{{form.document}}</div></button> </form> what should be seen is: something like this without the save button and stuff. But what I'm actually seeing is: What is the issue and how do I solve it?? -
I initially set my default PK as 0 in my Django model, and now makemigrations causes this error, even after changing the default to 1
I have now changed the default pk to be 1 but I continue to get this error which I am unable to fix. There is no owner field in the table yet, so I am very confused as to why it is unable to migrate and why it does not just set the default value to be 1 on every row (this is my superuser). To me it seems like it shouldn't be trying to set a value of 0, yet it still seems to be attempting to do this owner = ForeignKey( User, related_name='artist_owner', on_delete=CASCADE, default=1 ) psycopg2.errors.ForeignKeyViolation: insert or update on table "artists_artist" violates foreign key constraint "artists_artist_owner_id_90f328a8_fk_jwt_auth_user_id" DETAIL: Key (owner_id)=(0) is not present in table "jwt_auth_user". -
Django - ImportError at /graphql
Well, I tried to start GraphQL on Django's local server. But got a mistake that: You need to pass a valid Django Model in UserType.Meta, received "auth.User". Exception value is: Exception Value: You need to pass a valid Django Model in UserType.Meta, received "auth.User". To be honest, I don't really understand where I can find 'UserType.Meta. The model about users looks like: # user - связь с пользователем один-к-одному # website - юрл, по которому можно больше узнать о пользователе # bio - о себе (Капитан Очевидность) class Profile(models.Model): user = models.OneToOneField( settings.AUTH_USER_MODEL, on_delete=models.PROTECT, ) website = models.URLField(blank=True) bio = models.CharField(max_length=240, blank=True) # __str__ - более удобное отобажение в админке def __str__(self): return self.user.name So, what can I do to solve this problem? -
How to work pdf file at step by step slides in django template
I added a next button in my html code which will redirect me to my the same views.py function as shown above and t shall increment by 5 thus showing me my next 5 slides. However this seems not to . -
How to replicate Rails `timestamps` in Django
In Rails migrations I can call a function called timestamps in a migration when creating a table to add created_at and updated_at fields to the table. I can do this in django by creating a new abstract model class TimestampedModel(models.Model): created_at = models.DateTimeField(auto_now_add=True, null=False, blank=False) updated_at = models.DateTimeField(auto_now=True, null=False, blank=False) class Meta: abstract = True and then in my model just inheriting from TimestampedModel. But I'm not a massive fan of inheritance and I'd rather have some function timestamps that I can add to my model like: class UserModel(models.Model): timestamps() Is this possible in django? If it is, it seems like a useful technique in general, but unfortunately hard to google for. Thanks! -
Django DateTimeField says "You are 4.5 hours ahead of server time" even with setting the "TIME_ZONE"
When I want to set a date for a DateTimeField in django admin dashboard , there's a Note: You are 4.5 hours ahead of server time under the Time field and when I click Now for the Time field the value will be 9:40 while the actual time is 14:10 settings.py # ... LANGUAGE_CODE = "en-us" TIME_ZONE = "Asia/Tehran" USE_I18N = True USE_L10N = True USE_TZ = True # ... -
Upload video file to the Django Backend from Flutter
I have Implemented the mentioned function to upload the video file in the dart file where I ad the frontend implementation of uploading video. `Future uploadVideo(File videoFile) async { var uri = Uri.parse("http://192.168.1.6:8000/videos/"); var request = new http.MultipartRequest("POST", uri); var multipartFile = await MultipartFile.fromPath( "video", videoFile.path, ); request.files.add(multipartFile); StreamedResponse response = await request.send(); response.stream.transform(utf8.decoder).listen((value) { print('value'); print(value); }); print(videoFile.path); print(response.statusCode); if (response.statusCode == 200) { print("video uploaded"); } else { print("video upload failed"); } } ` While calling this method, Getting the status code 400 (Bad Request). How can I overcome this problem? Using Xampp Server and Using the MySQL local database in the backend. -
Async long running functions in Django REST framework
Using Django REST Framework (DRF) one API I'm implementing kicks of a function that can take a while. Callers don't have to know the result ('fire and forget') so they could have an immediate response. Django has async views now and that would solve the problem by calling the long running function asynchronously. But DRF doesn't have async support at the moment. Other suggestions I've seen is using Celery but that is a big step in both code and infrastructure. What is the easiest way to spawn the long running function in a sepate process? I must say that this long running process does need access to the ORM. I'm extending ModelViewSet: class myViewSet(viewsets.ModelViewSet): def update(self, request, *args, **kwargs): # This should be async ('fire and forget') long_running_function() -
Why images on Cloudinary don't appear?
I'm trying to implement cloudinary storage in my django project. Images are loaded successfully to cloudinary but when I create a post with image, images don't appear. Here is a URL of one image https://res.cloudinary.com/dewqgxp2a/image/upload/v1/media/images/posts/2021/07/slide02_CO2UtgA.jpeg As you see it, images are uploaded on Cloudinary but it's impossible to access the images. So when the browser tries to access that image it fails and image doesn't appear. How can solve it please? I need really your help! Here are configs in my settings.py INSTALLED_APPS: [ ... 'django.contrib.staticfiles', 'cloudinary_storage', 'cloudinary', ] # Cloudinary storage configs CLOUDINARY_STORAGE = { 'CLOUD_NAME': 'cloud name', 'API_KEY' : 'cloud key', 'API_SECRET' : 'api secret', 'SECURE' : True, } DEFAULT_FILE_STORAGE = 'cloudinary_storage.storage.MediaCloudinaryStorage' For security reasons, I replaced cloudinary configs by texts. Could anyone help me please? -
How to write secure rules for firebase when using custom authentication?
I am building an app with django and firebase. I have built my custom authentication system. And I need secure rules so that only people whom I have authenticated can read/write in the database or storage. { "rules": { ".read": true, ".write": true } } These are my current rules, so is their a way to pass a token when I request(read or write on databse) which is first checked. Something like -> { "rules": { ".write": "isAuthorized == true", ".read": "isAuthorized == true" } } And when making request to database like- db.child('test').get() I pass this isAuthorized bool Any help is appreciated, or you can suggest changes. -
How to Increment a column when adding new row into HTML Table using Java script
My requirement is to add a new blank row using java script to a table and increment one column based on previous row ( other columns need to blank) . I have tried many ways but unable to figure out. Below is the code I am using. it works fine when I add a row for the first time but after that the cell value is not getting incremented , also please help on how to achieve copy functionality with same cell value incremented for each row copied. can some one please help on how to fix it ? <html> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"> </script> <script src="https://ajax.googleapis.com/ajax/libs/cesiumjs/1.78/Build/Cesium/Cesium.js"></script> <script type="text/javascript"> function addRow(row){ var i = row.parentNode.parentNode.rowIndex; var tr = document.getElementById('Table').insertRow(i+1); tr.innerHTML = row.parentNode.parentNode.innerHTML; var currentShipUnit = tr.querySelector("input[name='ShipUnitId']").value; console.log(currentShipUnit); tr.querySelector("input[name='ShipUnitId']").value = ++currentShipUnit; } </script> <body> <table id="Table" border="" class="w3-table-all"> <thead> <tr class="w3-teal"> <th>BOX</th> <th >NUMBERS</th> <th >LENGTH</th> <th >WIDTH</th> <th >HEIGHT</th> <th >WEIGHT</th> <th >LEGNTH UOM</th> <th >WEIGHT UOM</th> <th>FEATURES</th> <th></th> </tr> </thead> <tbody> <tr> <td><input size=10 type="text" readonly=True name="ShipUnitId" value='100'></td> <td> <select id="palletgid" name="palletgid" class=""> <option id="prb3" value="" selected></option> <option value="">ABC</option> <option value="">CDE</option> <option value="">FRT</option> </select> </td> <td class="inputlength2" id="length"><input size=10 id="inputlength" class="inputlength" type="text" contenteditable='true' value=''></td> <td id="width"><input size=10 id="inputwidth" … -
Django - static files are not found in root static folder, but settings point to it
I'm starting to configure my first Django project and I find this issue which is really bothering me. I have set a root static folder to put some css files for my base template there, but Django is not finding any css files there. My settings.py are like this: ... BASE_DIR = Path(__file__).resolve().parent.parent ... STATIC_URL = '/static/' SATICFILES_DIRS = [ BASE_DIR / 'static', BASE_DIR / 'sales' / 'static' ] MEDIA_URL = '/media/' MEDIA_ROOT = BASE_DIR / 'media' ... ... And in my urls.py I have: urlpatterns = [ path('admin/', admin.site.urls), path('', include('sales.urls', namespace='sales')), ] urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT, show_indexes=True) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT, show_indexes=True) ... If a run findstatic I get the following: $ python manage.py findstatic --verbosity 2 static No matching file found for 'static'. Looking in the following locations: /home/dancab/git/django-3-course/myenv/lib/python3.9/site-packages/django/contrib/admin/static /home/dancab/git/django-3-course/src/sales/static And also, in the browser, I can see the list of files in the MEDIA folder, but I can't see the STATIC folder, I get the following error: I don't understand why I Django finds the MEDIA folder and not the STATIC folder. Thanks in advance to anyone that gives me a hint on why this happens.