Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
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 … -
Django: 'Response' object has no attribute 'get' when using "del request.session['key']"
Hello I'm trying to practice my understanding of Django sessions and I ran into this error. what I'm trying to do is to save a counter to count how many times a user visited the (' ') route and display it on the Django template and then the key will be destroyed when visiting the route ('/destroy'). Views.py from django.shortcuts import redirect, render from flask import session,redirect # Create your views here. def index(request): request.session['counter']=int(request.session.get('counter',0))+1 return render(request,'index.html') def destroy(request): del request.session['counter'] return redirect('') urls.py from . import views urlpatterns = [ path('', views.index), path('destroy',views.destroy) ] django template <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Counter</title> </head> <body> <div class="wrapper"> <h1>Counter</h1> <p>{{request.session.counter}} times</p> </div> </body> </html> -
django model pre_save update() has problems
Background: I have Tag models that have an attribute is_obsolete (default set to False) class Tag(model.Model): ... is_obsolete = False I have StatusInfo models that have a foreign key to Tag through "affected_tag". class StatusInfo(models.Model): ... affected_tag = ForeignKey(Tag) When the StatusInfo instance is created they fire off the pre_save() signal to change <StatusInfo>.affected_tag.is_obsolete=True @receiver(pre_save, sender=StatusInfo) def status_change_modification(sender, instance, *args, **kwargs): """ Changes tags and concepts to be obsolete or deprecated. if a tag is obsolete or deprecated, all of the tag's concepts are obsolete or deprecated """ assert hasattr(instance.affected_tag, "id") # set up variables kwargs = {} if instance.status == "d": kwargs["is_deprecated"] = True elif instance.status == "o": kwargs["is_obsolete"] = True inner_tag_status_change(instance, **kwargs) def inner_tag_status_change(instance, **kwargs): """ update the is_updated fields for status_info kwargs is either: kwargs = {'is_obsolete': True} # or {'is_deprecated': True} """ affected = Tag.objects.filter(id=instance.affected_tag.id).first() affected.__dict__.update(**kwargs) affected.save(update_fields=list(kwargs.keys())) Problem What I can't figure out is why when this hits the bottom of the test I still have my Tag instance self.soon_to_be_obsolete_tag.is_obsolete == False I've tried .update(**kwargs) and .save(updated_fields=list(kwargs.keys())) inside inner_tag_status_change() but it doesn't save the changes It looks good when stepping through it in debug mode then it reverts back for the last line of the test. … -
Django-unicorn| HTML & Django selected option return 404
I need some pointers around ajax while trying to select an option on the components I've published on the template I've got a 404 response from the JS script. I don't have enough knowledge to identify and debug the JS script myself any pointer for this problem would be greatly appreciated. my code so far: app's views.py from django.views.generic.base import TemplateView class ProductDetailView(TemplateView): template_name = 'product/product_detail.html' components.py from django_unicorn.components import UnicornView from django.http.request import HttpRequest as request from django.db.models import Q from django.shortcuts import get_object_or_404, get_list_or_404 from navigation.models import * from inventory.models import * class ProductDetailView(UnicornView): selected_finition= "" selected_size= "" def get_context_data(self, *args, **kwargs): context = super(ProductDetailView, self).get_context_data(**kwargs) #grab the slug in path to instantiate query with obj = get_object_or_404(Product, slug = self.request.get_full_path().split('/')[-2]) #print(f"product detail value data: {type(obj)}") detail = get_list_or_404(ProductDetail, SKU__startswith=obj.SKU) #print(f"product detail data: {detail}") context['obj'] = obj try: context['finition'] = ProductAttributeFinition.objects.filter(Q(SKU_id__in=detail)).distinct('name') except: return context['finition'] #print(f"dfinition detail :\n {context['finition']}") try: context['size'] = ProductAttributeSize.objects.filter(Q(SKU_id__in=detail)).distinct('value') except : return context['size'] #print(f"detail-size :\n {context['size']}") context['price'] = ProductDetailPrice.objects.filter(Q(SKU_id__in=detail)) #print(f"detail-price :\n {context['price']}") return context app's templates {% extends 'base.html' %} {% load unicorn %} {% block content %} {% unicorn 'product_detail' %} {% endblock %} unicorn templates <div> <h1>Product Detail Page unicorn</h1> <img src="{{obj.image.url}}"/> <p><span>{{obj.name}}</span></p> … -
Long running Celery task result in mysql 104 Connection reset by peer
At my Django application, I use celery to process very long-running conversion tasks (video, audio and picture encoding). In general everything is working as expected, but sometimes a task takes really long time to complete (talking 6 hrs. Or more here). At the very end of each of these conversion tasks, an update operation is trigger against my database: Files.objects.filter(pk=files_obj).update(... And exactly this is the point where my celery task breaks with this message: django.db.utils.OperationalError: (2006, "MySQL server has gone away (ConnectionResetError(104, 'Connection reset by peer'))") The full trace can be found here: https://pastebin.com/qKB5KdpR Currently, my settings.py for Database connections looks like this: import pymysql pymysql.install_as_MySQLdb() ... # MySQL DATABASES = { 'default': { 'ENGINE': 'django_prometheus.db.backends.mysql', # 'ATOMIC_REQUESTS': True, 'STORAGE_ENGINE': 'InnoDB', 'CONN_MAX_AGE': 600, 'OPTIONS': { 'init_command': 'SET innodb_strict_mode=1', 'connect_timeout': 600, 'charset': 'utf8', }, 'NAME': env.str('MYSQL_DATABASE'), 'USER': env.str('MYSQL_USER'), 'PASSWORD': env.str('MYSQL_PASSWORD'), 'HOST': env.str('MYSQL_HOST'), 'PORT': env.str('MYSQL_PORT'), } } DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' ... Enlarging CONN_MAX_AGE or connect_timeout does not make much sense to me here as tasks that are running for just 3 or 4 hrs. Are processed fine without this behavior. Currently, my guess is that this behavior is pymysql specific. Is there maybe a default timeout? Thanks in advance. -
How to set multiple enviroment variable in django-crontab ?Ac
According to this document https://pypi.org/project/django-crontab/ If I want to set a variable environment in crontab, I should do this CRONTAB_COMMAND_PREFIX="STAGE=production" provided I want to set multiple variables, what should I do ? I tried CRONTAB_COMMAND_PREFIX="STAGE=production,TOKEN=ABC" but seems to be not working -
how can I access updated template variable in different tags
How can i use a updated variable in different tags in django templates. I'm using python 3.10.x and django 4.0.4. Here is my template code. i want to use qn variable in the {% else %} part (after update). And for update I've written a custom tag. {% extends 'base.html' %} {% load static %} {% load custom_tags %} {% block style %} {% endblock %} {% block content %} <h1>Test</h1> {% if arr %} <form action="#" style="margin-left:10%;" > {% for line in arr %} {% with qn=line.0 %} <div class="form-check"> {% if line.0 not in "a, b, c, d" %} <h4> {{line}} </h4> {% update qn as line.0 %} ques{{qn}} {% else %} <input class="form-check-input" type="radio" name="ques{{qn}}" value="{{line}}" style="margin-left:2%; margin-right:1%;"> <label class="form-check-label" for="ques"> {{line}} </label> {% endif %} </div> {% endwith %} {% endfor %} <button type="submit" class="btn btn-primary" style="margin-top:3%;"> Submit Test </button> </form> {% else %} No Data {% endif %} {% endblock %} Here is the custom tag code from atexit import register from django import template import datetime register = template.Library() @register.simple_tag def update(val): data=val return data The qn variable is working fine if i'm using it in the {% if line.0 not in "a, b, … -
Failed to load resource: the server responded with a status of 503 (Service Unavailable)
I'm trying to deploy djnago web app on heroku. that is what console shows -
How to deploy my django site using iis via specific name
I deployed my site in iis and clients can access with tow way : 1-ip:port (8080) 2- servername:port How can deploy it on the specific url name like : Servername/xxx/yyyy/ Without shown port, ??? Point: I used default port for another project on this server and dns server resolved to this ip server Many years ago. -
What's the most efficient way to retrieve django queryset with the hightest number of posts for a related name?
I'm currently working on a website where advertisements will be posted to display vehicles for sale and rent. I would like to retrieve a queryset that highlights only one car brand (i.e. Audi) which has the highest number of posts for the respective model. Example: Displaying the Audi brand because it has the highest number of related posts. My question is, what's the most efficient way of doing this? I've done some work here but I'm pretty sure this is not the most efficient way. What I have is the following: # Algorithm that is currently retrieving the name of the brand and the number of related posts it has. def top_brand_ads(): queryset = Advertisement.objects.filter(status__iexact="Published", owner__payment_made="True").order_by('-publish', 'name') result = {} for ad in queryset: # Try to update an existing key-value pair try: count = result[ad.brand.name.title()] result[ad.brand.name.title()] = count + 1 except KeyError: # If the key doesn't exist then create it result[ad.brand.name.title()] = 1 # Getting the brand with the highest number of posts from the result dictionary top_brand = max(result, key=lambda x: result[x]) # Returns for i.e. (Mercedes Benz) context = { top_brand: result[top_brand] # Retrieving the value for the top_brand from the result dict. } print(context) # … -
My article doesn't display in article_details
I want to show my articles but My article doesn't display on article_details.html This is what my site looks like. You can see only my article's title works. My models.py: class Article(models.Model): title = models.CharField(max_length=50, verbose_name="Title") mini_description = models.TextField(max_length=100, default='', verbose_name='Mini_description') content = models.TextField(blank=True, verbose_name="Content") created_at = models.DateTimeField(auto_now_add=True, verbose_name="Date of add") updated_at = models.DateTimeField(auto_now=True, verbose_name="Update date") photo = models.ImageField(upload_to='photos/', verbose_name="Photo") is_published = models.BooleanField(default=True, verbose_name="Is published") category = models.ForeignKey(Category, on_delete=models.CASCADE, verbose_name="Category") def get_absolute_url(self): return reverse("article_details", kwargs={'pk': self.pk}) def __str__(self): return self.title def __repr__(self): return f"Article(pk={self.pk}, title='{self.title}')" class Meta: verbose_name = "Article" verbose_name_plural = "Articles" ordering = ['-created_at'] My views.py: class ArticleDetails(ArticleListByCategory): model = Article context_object_name = 'article' template_name = 'blog/article_details.html' def get_queryset(self): article = Article.objects.filter(pk=self.kwargs['pk'], is_published=True).select_related('category') return article def get_context_data(self, **kwargs): context = super().get_context_data() article = Article.objects.get(pk=self.kwargs['pk']) context['title'] = f"Article: {article.title}" return context My article_details.html: {% extends "base.html" %} {% load static %} {% block style %} <link href="{% static 'blog/css/main.css' %}" rel="stylesheet"> {% endblock style %} {% block title %} {{ title }} {% endblock %} {% block main %} <section class="articles" id="articles"> <div class="card_details"> <h1>{{ article.title }}</h1> <p><em>{{ article.mini_description }} </em> </p> <img src=""> <div class="description"> <p> {{ article.content }} </p> </div> <div class="card-footer text-muted"> {{ article.created_at| timesince }} … -
Fetching html form data in django
I have created one html form for my web application. Now I want to fetch data for further validation on submit the form in DJANGO. So how can I do this. I have attached my html form code below. Actually, I can get the data by the request.POST.get('field_name') method but I want to get data in the single object. Also I want to create seprate python file for validation. So how can I redirect on that file. <form action="/contact_form_data_insert" name = "contact_us_form" id = "contact_us_form" method="POST"> <div class="bg-transperent container mt-6"> <div class="bg-transperent container"> <div class="row bg-transperent"> <div class="col-lg-6 bg-transperent contact_field"> <div class="form-outline my-2 px-2" > <input type="text" id="contact_name" name="contact_name" class="form-control form-control-lg-border-0" placeholder = "Your Name"/> </div> </div> <div class="col-lg-6 bg-transperent contact_field"> <div class="form-outline my-2 px-2" > <input type="text" id="contact_company" name="contact_company" class="form-control form-control-lg-border-0" placeholder = "Your Company" /> </div> </div> </div> <div class="row bg-transperent"> <div class="col-lg-6 bg-transperent contact_field"> <div class="form-outline my-2 px-2" > <input type="tel" id="contact_phone_number" name="contact_phone_number" class = "form-control form-control-lg-border-0" placeholder = "Phone Number"> </div> </div> <div class="col-lg-6 bg-transperent contact_field"> <div class="form-outline my-2 px-2" > <input type="email" id="contact_email" name="contact_email" class="form-control form-control-lg-border-0" placeholder = "Email"/> </div> </div> </div> </div> <div class="bg-transperent container"> <div class="row"> <div class="col-12 bg-transperent contact_field "> <div class="form-outline … -
django-HttpResponse returned None
I am getting an error while I run my project: ValueError: The view ... didn't return an HttpResponse object. It returned None instead. I have seen other questions like this, but their answers don't seem to work. For my other projects the same code worked. I searched on the net for days but I haven't had any luck. views.py - from .models import create_message from .forms import MessageForm from django.http import HttpResponseRedirect def create_message(request): submitted = False if request.method == "POST": form = MessageForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('/create_message?submitted=True') else: form = MessageForm if 'submitted' in request.GET: submitted = True return render(request, 'send/create_message.html', {'form': form, 'submitted': submitted}) forms.py - from django.forms import ModelForm from .models import create_message class MessageForm(ModelForm): class Meta: model = create_message fields = ('message', 'app_name', 'time') labels = { 'message': 'Message', 'app_name': 'App', 'time': 'Time', } widgets = { 'message': forms.TextInput(attrs={'class':'form-control', 'placeholder': 'Message'}), 'app_name': forms.Select(attrs={'class':'form-select', 'placeholder': 'App'}), 'time': forms.TextInput(attrs={'class':'form-control', 'placeholder': 'Hours : Minutes : Seconds / Hours : Minutes : 00(ZERO ZERO)'}), } models.py - from django.db import models class create_message(models.Model): message = models.TextField(blank=False, null=False) time = models.TimeField(blank=False, null=False) def __str__(self): return self.time create_message.html {% extends 'send/base.html' %} {% block content %} {% if submitted %} Submitted … -
While trying to reverse a url in django template html file, exception 'NoReverseMatch' occurs. I included the additional parameter in views function
def entry(request, name): content = util.get_entry(name.strip()) if content == None: content = "## Page was not found" content = markdown(content) return render(request, "encyclopedia/entry.html", {'content': content, 'title': name}) def edit(request,title): content = util.get_entry(title.strip()) if content == None: return render(request, "encyclopedia/edit.html", {'error': "404 Not Found"}) if request.method == "POST": content = request.POST.get("content").strip() if content == "": return render(request, "encyclopedia/edit.html", {"message": "Can't save with empty field.", "title": title, "content": content}) util.save_entry(title, content) return redirect("entry", name=title) return render(request, "encyclopedia/edit.html", {'content': content, 'title': title}) util has files that help get names of entered files, save a new entry or get content of entry. {% extends 'encyclopedia/layout.html' %} {% block title %} {{title}} {% endblock %} {% block body %} <a href="{% url 'edit' title %}" class="badge badge-info">Edit This Page</a> {{entry | safe }} {% endblock %} layout has the standard block code of HTML edit.html contains HTML code that gives a button on each page so that we can edit the content of the page entry and passes name='content' for the content to be edited. THIS IS A CS50w project and I have taken references from other sources. -
Not able to fetch the image from database in django application
In my application, I am able to fetch all the other contents like name description but instead of using the all code correctly and all things may be clear the images are not loading.. please help click to see image -
Execute custom SQL directly and display on page
I want to do something like... views.py from django.http import HttpResponse from django.db import connection def query(self): with connection.cursor() as cursor: cursor.execute('SELECT some, stuff FROM here;') row = cursor.fetchall() return row def index(request): return HttpResponse(query(self)) It doesn't work (yet) -
Django: Storing static folder on S3 bucket leading to the css, and js files not working
I have js, images, and CSS folders inside the static folder. They are stored in the S3 bucket. Unless I give public access, my app cannot load the CSS files, images, and javascript files. My app relies on the js files (jQuery) for all interactions (API calls - for Ajax). What specific permission would I have to set on the S3 bucket to allow my app to read or execute the js files, but not allow anyone to download or view them (when they put the fully qualified URL on the browser)?