Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Heroku error H14 "no web processes running"
When I trying to open my app in Heroku, I receive this message: Application error An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command heroku logs --tail heroku logs --tail : 2021-11-25T18:34:03.593007+00:00 heroku[router]: at=error code=H14 desc="No web processed=GET path="/" host=football-players-stats-api.herokuapp.com request_id=a5af4869-7e84-46a69b fwd="186.58.9.173" dyno= connect= service= status=503 bytes= protocol=https 2021-11-25T18:34:12.174019+00:00 heroku[router]: at=error code=H14 desc="No web processed=GET path="/favicon.ico" host=football-players-stats-api.herokuapp.com request_id=e168a97-4c41a2513edb fwd="186.58.9.173" dyno= connect= service= status=503 bytes= protocol=ht This is my Procfile web: gunicorn app.wsgi --log-file - Comands heroku ps:scale web=1: Scaling dynos... ! ! Couldn't find that process type (web). heroku ps Free dyno hours quota remaining this month: 1000h 0m (100%) Free dyno usage for this app: 0h 0m (0%) For more information on dyno sleeping and how to upgrade, see: https://devcenter.heroku.com/articles/dyno-sleeping No dynos on ⬢ football-players-stats-api I did this but it still doesn't work. heroku buildpacks:clear heroku buildpacks:add heroku/python git commit --allow-empty -m "Adjust push heroku master" git push master I dont know where is the problem. Id really appreciate if you could help me. -
Django: How to load initial data for a foreignkey field
I'm trying to create some initial data with Django fixtures. Now my model has a field with ForeignKey to another model. How how can I handle this in the json file [ { "model":"src.Pricing", "pk": 1, "fields": { ... ... } }, { "model":"src.PricingFeature", "pk": 1, "fields": { ... "pricing": "", ... } } ] The second one has field called pricing, and the is supposed to be an instance of src.Pricing (the first dictionary in the list). How can I get the instance and pass it -
How can i add import export to a table and also order the columns in django
I want to add import export button and at the same time order the table columns but i cant pass 3 parameters on the functions list_display = ('id_etudiant','nom_etudiant','prenom_etudiant','Telephone','Adresse','Filiere') search_fields = ('nom_etudiant',)``` ```class userdat(ImportExportModelAdmin): pass``` ```admin.site.register(Etudiant,userdat,OrderEtudiant)``` here is the problem i can't pass pass three parameters to the function -
POST to view not updating database
I have a view that I want to be able to add an event to a project. There are 2 models, one for the Project and one for Event. Project Model class Project(models.Model): project_name = models.CharField(max_length=50, blank=False, unique=True) project_website = models.URLField(max_length=50, blank=True) project_description = models.TextField(blank=True) ckeditor_classic = models.TextField(blank=True) project_category = models.CharField(max_length=15, blank=True) project_type = models.CharField(max_length=10, blank=True) project_platform = models.CharField(max_length=25, blank=True) project_marketcap = models.IntegerField(blank=True, null=True) project_stage = models.CharField(max_length=25, blank=True) project_blockchain = models.CharField(max_length=25, blank=True) project_investors = models.ManyToManyField(Investor, blank=True) project_developers = models.ManyToManyField(Developer, blank=True) def __str__(self): return str(self.project_name) Event Model class Event(models.Model): project = models.ForeignKey(Project, to_field='project_name', on_delete=models.CASCADE) event_name = models.CharField(max_length=100) event_date = models.DateTimeField(blank=True) event_url = models.URLField(max_length=100, blank=True) def __str__(self): return str(self.event_name) The event has a ForeignKey to the Project. when I go to the project page for a specific project, I then click a button to enable me to create an event. The Project Name is pre-populated using this URL path('apps/add_event/<int:project_id>', view=AddEvent, name="add_event"), This creates a simple form that i can then assign a name and date for the event, but when i POST (Submit) the data doesn't get added to the database. I do get a POST in the logs [25/Nov/2021 21:37:11] "POST /apps/add_event/3 HTTP/1.1" 302 0 I can't work out why the … -
i am getting an error a bytes-like object is required, not 'str' and my code is as follows
'''the view is as follows and it brings the error at line password = password.split("b'")''' if request.method == 'POST': email = request.POST['email'] password = request.POST['password'] cache.set('email',email) fact = User.objects.filter(email=email).values('username') username = fact[0]['username'] username = username.encode(encoding='UTF-8') password = password.encode(encoding='UTF-8') password = password.split("b'") print(username) print(str(password)) -
django-import-export does not update when unique
I have this unique field on my Profile model: email = models.EmailField(max_length=200, unique=True) and I have this ProfileResource: class ProfileResource(resources.ModelResource): # associated_issuer = fields.Field(attribute='add_associated_issuer', widget=ManyToManyWidget(Issuer, field='name'), column_name='Associated Issuer') email = fields.Field(attribute='email', widget=CharWidget(), column_name='email') class Meta: model = Profile clean_model_instances = True import_id_fields = ('id', 'email') def before_import_row(self, row, row_number=None, **kwargs): try: self.email = row["email"] except Exception as e: self.email = "" try: if row["id"] == '': row["id"] = None self.id = row["id"] except Exception as e: self.id = None try: self.firstname = row["firstname"] except Exception as e: self.firstname = "" try: self.lastname = row["lastname"] except Exception as e: self.lastname = "" Now when I try to do an import from a file, I receive this error: I need to be able to do an update_or_create method, but where do I add that code? I tried doing it on an after_import_instance but it did not work. I also tried on import_row like this: def import_row(self, row, instance_loader, using_transactions=True, dry_run=False, **kwargs): try: Profile.objects.update_or_create(email=self.email) except Exception as e: print(e, file=sys.stderr) but it produced this error: Exception Value: 'NoneType' object has no attribute 'import_type' Any insights on a fix would be appreciated. -
Unable to post data to foreign key table in Django
I am an absolute beginner to Django and I am trying to check the POST method by populating the value to the foreign key table. I have two tables. Please guide me on where I am wrong. Table for Category that has 2 entries, i.e., Coffee(PK = 1) and Desserts (PK = 2) Table for Items From models.py: class Category(models.Model): cId = models.AutoField(primary_key=True) categoryName = models.CharField(max_length=20, unique=True) def __str__(self): return self.categoryName # return[self.categoryName, self.cId] # return self.cId class Item(models.Model): Id = models.AutoField(primary_key=True) itemName = models.CharField(max_length=30,unique=True) cId = models.ForeignKey(Category,on_delete=CASCADE) From views.py: def main(request): return render(request, "index.html") def send(request): if request.method == "POST": a = request.POST.get("a"); b = request.POST.get("b"); obj = Item(itemName = a, cId =b); obj.save() return HttpResponse("sent") else: return HttpResponse("form submission failed") From urls.py(app): urlpatterns = [ path('', views.main, name="main"), path('send', views.send, name='send') ] From HTML: <!DOCTYPE html> <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"> {% load static %} <link rel="stylesheet" href="{% static 'css.css' %}"> <title>CHECK-POST-METHOD</title> </head> <body> <div class = "container"> <form method = "post" action = "send" class = "form"> {% csrf_token %} <label for="a">Item Name</label> <input type="text" name="a" id="a" maxlength="30"> <label for="b">PASS FOREIGN KEY--CATEGORY ID</label> <input type="number" name="b" id="b" maxlength="5"> <button type="submit">SUBMIT</button> … -
request.user becomes anonymous upon refreshing page django rest framework
I am finishing up a django rest framework react website and need help. When I log in with a user and go to the author dashboard page, all the api calls work. If I leave the page and then use the link in the navbar all the api calls work. However, if I refresh the page, one of the api calls stops working and says that request.user is an anonymous user but all the other ones work. Here is the api view giving me trouble: @api_view(['GET']) def author(request): print(request.user) if request.user.is_authenticated: author = request.user serializer = AuthorAccessSerializer(author, many=False) return Response(serializer.data) else: return HttpResponse(status=400) And here is a view that works on the same refresh: @api_view(['GET', 'POST']) @permission_classes([IsAuthenticated]) def author_auth(request): if request.method == 'GET': print(request.user) requires_superuser = request.query_params['req-supuser'] if requires_superuser == "True": requires_superuser = True else: requires_superuser = False if request.user.is_authenticated: if requires_superuser == True: if request.user.is_superuser: return Response('Authenticated') return HttpResponse(status=401) return Response('Authenticated') return HttpResponse(status=401) -
How to use left join orm?
My model class Ad_company(models.Model): idx = models.AutoField(primary_key=True) subject = models.CharField(max_length=255) memo = models.CharField(max_length=255) content = models.TextField() is_display = models.CharField(max_length=1) writer = models.CharField(max_length=255) write_date = models.DateTimeField() update_date = models.DateTimeField() delete_date = models.DateTimeField() deadline_date = models.DateTimeField() reply = models.IntegerField(blank=True) hits = models.IntegerField(blank=True) ad_apply = models.IntegerField(blank=True) ad_category1 = models.CharField(max_length=255) ad_category2 = models.CharField(max_length=255) ad_place = models.CharField(max_length=255) ad_age = models.CharField(max_length=255) ad_sex = models.CharField(max_length=255) ad_budget = models.BigIntegerField() ad_length = models.CharField(max_length=255) is_done = models.CharField(max_length=1) is_pay = models.CharField(max_length=1) ad_service = models.CharField(max_length=255) ad_object = models.CharField(max_length=255) is_file = models.CharField(max_length=1) ad_require = models.CharField(max_length=255) class Meta: managed = False db_table = 'ad_write_company' class Ad_company_apply(models.Model): idx = models.AutoField(primary_key=True) parent_idx = models.IntegerField() username = models.CharField(max_length=255) content = models.TextField() date = models.DateTimeField(default=datetime.now, blank=True) budget = models.BigIntegerField() term = models.IntegerField() is_done = models.CharField(max_length=1) SELECT * FROM ad_write_company INNER JOIN ad_write_company_apply ON ad_write_company.idx = ad_write_company_apply.parent_idx where ad_write_company_apply.is_done = 1 and ad_write_company_apply.username = 'asdffdsa' This is my query. but I can not make join query with orm. Sorry for question is too short. And Is my query right? I not sure of that. Thanks for answer. or do you guys have other good idea? -
Combine Django and Bootstrap 5 Modal with Ajax
How to have button/link that can target object pk like a certain post with {{obj.pk}} then open a modal edit modal and delete modal. Then the modal can edit and delete successfully without refresh using AJAX (Fetch API or Jquery). I have the problem to target the modal to open the post with certain PK. I cannot use id="editPost{{obj.id}}" or id="deletePost{{obj.id}}" to target the modal because then I need to put the modal in forloop then the modal will be repeated for each post. Here a some of the code: {% for obj in page_obj %} <li> <a class="dropdown-item" data-bs-toggle="modal" data-bs-target="#editPost" href="{% url 'post-update' obj.pk %}">Edit Post</a> </li> <li> <a class="dropdown-item" data-bs-toggle="modal" data-bs-target="#deletePost" href="{% url 'post-delete' obj.pk %}">Delete Post</a> </li> <div id="post{{obj.id}}" class="box-content"> <p class="box-text mb-2">{{ obj.content }}</p> <span class="username">{{ obj.username }}</span> </div> {% endfor %} <div class="modal fade" id="deletePost" tabindex="-1"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Delete Post?</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <p>Are you sure you want to delete your post?</p> </div> <div class="modal-footer"> <button type="button" class="rvg-button-small" data-bs-dismiss="modal">Cancel</button> <button type="button" class="rvg-button-small">Delete</button> </div> </div> </div> </div> The way I achieve AJAX is using <a class="dropdown-item" data-bs-toggle="modal" data-bs-target="#editPost" onclick="EditPost('{{ obj.id }}')"> <a class="dropdown-item" data-bs-toggle="modal" data-bs-target="#deletePost" … -
Django takes ubuntu username to connect database instead of db user from settings.py
I trying to run django website on aws ec2 machine (ubuntu). my postgresql database running on aws RDS when I run $python manage.py runserver, it throws this error: django.db.utils.OperationalError: connection to server at "xxxxx.xxxxx.us-east-2.rds.amazonaws.com" (xxx.xx.xx.xxx), port 5432 failed: FATAL: password authentication failed for user "ubuntu" basically django trying to connect database using ubuntu user instead of postgres user in settings.py my settings.py: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': config('NAME'), 'USER': config('USER'), 'PASSWORD':config('PASSWORD'), 'HOST':config('HOST') #'HOST':'localhost' } } .env file: SECRET_KEY=xxxx DEBUG=True HOST=xxx.xxx.us-east-2.rds.amazonaws.com NAME=xxxx USER=postgres PASSWORD=xxxxxx my password has special special char '#' -
Gunicorn can't access lets encrypt files
(venv) ubuntu@ip-172-31-6-77:~/redrebelgames_python$ gunicorn redrebelgames_python.wsgi:application [2021-11-25 20:01:09 +0000] [3758] [INFO] Starting gunicorn 20.1.0 Traceback (most recent call last): File "/home/ubuntu/redrebelgames_python/venv/bin/gunicorn", line 8, in <module> sys.exit(run()) File "/home/ubuntu/redrebelgames_python/venv/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 67, in run WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run() File "/home/ubuntu/redrebelgames_python/venv/lib/python3.8/site-packages/gunicorn/app/base.py", line 231, in run super().run() File "/home/ubuntu/redrebelgames_python/venv/lib/python3.8/site-packages/gunicorn/app/base.py", line 72, in run Arbiter(self).run() File "/home/ubuntu/redrebelgames_python/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 198, in run self.start() File "/home/ubuntu/redrebelgames_python/venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 155, in start self.LISTENERS = sock.create_sockets(self.cfg, self.log, fds) File "/home/ubuntu/redrebelgames_python/venv/lib/python3.8/site-packages/gunicorn/sock.py", line 162, in create_sockets raise ValueError('certfile "%s" does not exist' % conf.certfile) ValueError: certfile "/etc/letsencrypt/live/api.redrebelgames.com/cert.pem" does not exist How do I allow gunicorn to access these files? For some reason it's not working and simply changing the chmod permissions won't work because certbot will eventually change them back. -
Connect the username when sending a report in django
I am beginner to django and I am trying to create a site to send reports after creating a profile, but when I send the report, the username of the author of the report is not saved, Just (None). I searched a lot about it and did not find it models.py from django.db import models from django.contrib.auth.models import User class Profile(models.Model): user = models.OneToOneField(User, verbose_name=("user"), null=True, on_delete=models.CASCADE) identity_No = models.IntegerField( blank=True, null=True) mobile_No = models.IntegerField( blank=True, null=True) city = models.CharField( max_length=15,null=True) class Meta: verbose_name =("Profile") verbose_name_plural =("Profile") def __str__(self): return '%s' %(self.user) class Report(models.Model): user = models.ForeignKey(User, verbose_name=("user"), on_delete=models.CASCADE) Report_type =models.CharField( max_length=100, blank=True, null=True) Region =models.CharField( max_length=30, blank=True, null=True) city =models.CharField( max_length=30, blank=True, null=True) sector =models.CharField( max_length=30, blank=True, null=True) report =models.TextField( max_length=3000, blank=True, null=True) files =models.FileField( blank=True, null=True) class Meta: verbose_name =("Report") verbose_name_plural =("Report") def __str__(self): return '%s' %(self.user) form.py Shorten the time, attach only the report class ReportForm(forms.ModelForm): class Meta: model = Report fields = ['Report_type', 'Region', 'city','sector','report','files' ] view.py def report(requst): if requst.method == 'POST': report_form = ReportForm(requst.POST) if report_form.is_valid() : report_form.save() return redirect ('accounts:home') else: report_form = ReportForm() return render(requst, 'user/report.html', { 'report_form': report_form, enter image description here }) -
Django migrations files for large project in git (Best Practice)
I work with a team in Django project, in the local git with same database. we found that there was a lot of problems with django migrations specially when the team is large. So we decided to make databases for each developer, sometimes the developer delete them migrations files to solve some problems with migrations. we get a lot of the conflict in Django migrations files, we decided to add migrations files to gitignore. Then all the work become more smoothly. but we get some problems we lost the git history for migrations files, this gives problems at updating the project versions from the specific git tag. Also, it will delete the migrations files at every time we make "checkout" in git. I suggested the following but I did find its answers make migrations files tracked by local repository and ignored in the remote repository. Any one have forced this issue? -
Django - In a ModelForm, display data coming from a model linked with M2M relationship
I built a form for a model, including a field coming from another model linked with a M2M relationship. The form works properly, but I would like to add detailed data from this other model and I did not success. The main model is Event and it's linked to Groups thanks to this relationship; in the form, all groups are listed and displayed with checkboxes, but I'm only able to display the groups' name, no other information. It looks like I miss some data / information: the group name is displayed only because I use {{grp}}} (see below) but it has no attribute / filed available, even if it is initialized with a query from the group model. Any idea of what I did wrong, or any advice to manage this? Thanks in advance. Here are related code parts. Models: class UserGroup(models.Model): company = models.ForeignKey( Company, on_delete=models.CASCADE, verbose_name="société" ) users = models.ManyToManyField(UserComp, verbose_name="utilisateurs", blank=True) group_name = models.CharField("nom", max_length=100) weight = models.IntegerField("poids", default=0) hidden = models.BooleanField(default=False) def __str__(self): return self.group_name class Event(models.Model): company = models.ForeignKey( Company, on_delete=models.CASCADE, verbose_name="société" ) groups = models.ManyToManyField(UserGroup, verbose_name="groupes", blank=True) rules = [("MAJ", "Majorité"), ("PROP", "Proportionnelle")] event_name = models.CharField("nom", max_length=200) event_date = models.DateField("date de l'événement") slug = … -
Can you render form fields based on index number in Django?
Let's say I want to render the last three fields of the following form: {{ form.field1 }} {{ form.field2 }} {{ form.field3 }} {{ form.field4 }} In Python, I would access numbered items from a list by using something like: form[1::1] Of course, the field in an object with attributes, so a method like getattr is the most similar. My question is - is there any way to access selected form fields in a Django template? Something that would allow me write a for loop for one range of form fields, and another for another? In python what I want would look like this in a list: for field in form[0:10:2]: return field for field in form[11:21:2]: return field etc -
Django 502 Bad Gateway on GET a single profile
Problem Http: 502 Bad Gateway And error: { "detail": "Given token not valid for any token type", "code": "token_not_valid", "messages": [ { "token_class": "AccessToken", "token_type": "access", "message": "Token is invalid or expired" } ] } Context Django App with HomePage and UserDetail. Login with two different users, both with same API Key and their own JWT: Ok User: Can access home page and account detail. Error User: Can access home page but can't access account detail. Question Why only this particular user can't access his own account detail? -
Can a consumer pull messages from RabbitMQ like it would retrieve the first item in a normal queue data structure?
From the documentation of RabbitMQ, I am currently left with the impression that as soon as a message arrives in the queue, it gets sent to a consumer for processing. What I would like to have is the ability for the consumer to decide on his own when he is ready to get and process the next message in the queue. Is this possible? My program generates a big amount of messages (around 3000) at once and is supposed to store them in a queue. (around 2-3 times a day) From this queue, a function is supposed to get the first message, calculate if a condition is met and if that is true, start a process on another server and only then retrieve the next message. If not, it should wait a small amount of time and try again with the same message as before. I am not interested in concurrency, quite the opposite, the application must be sequential. Can I achieve this with RabbitMQ? -
xml sitemap in django isn't showing the website urls
i am building sitemap in django, this my siteemaps.py from django.contrib.sitemaps import Sitemap from django.shortcuts import reverse class StaticViewSitemap(Sitemap): def item(self): return ['home','blogurl','progurl','post_detail_url',] def location(self,item): return reverse(item) when i run the sitemap.xml, the urls are not appearing. enter image description here -
Pandas DataFrame table's styling in Django view
In a Django application I create a DataFrame, later on I transform it to html and pass to the view table = df.to_html(index=False) return render(request, 'results.html',{'table': table}) In results.html I add that table {{ table|safe }} And I get this table. Table in Django's view. Is there a way to add styling to it in the template? I would like to add some spacing between text and borders, as well as making titles for the columns centered. -
how to get javascript variables into django url
<a href="{% url 'main:projectdata' proname=pro.projectname n=state %}"></a> <script> var state = 'Done'; </script> how to pass javascript variable state into the django url in the line above when it change -
Is celery recommended for email sending only?
I have an api with django rest framework. The api is for user signup. After signup api will send verification email to the user but sending email takes a little time so for this purpose i want to send email in background. For this requirement what should be the approach ? -
How to upload Files in django to your desired Folder
model.py class Thread(models.Model): user = models.Foreignkey(User, on_delete=models.CASCADE) Title = models.CharField(max_length=30) Media = models.ManyToManyField("Files", on_delete=models.CASCADE) class Files(models.Model): File = models.FileField(upload_to="thisFolderDoesNotMatter/") in forms.py class ThreadForm(ModelForm): Files_Form_Label = forms.FileField(widget=forms.CleatableFileInput(attrs={'multiple':True})) class Meta: model = Thread fields = ("Title",) in views.py from django.views import View class NewThread(View): template_name = 'Thread/New.html' def get(self, request, id): return render(request, self.template_name, context={ 'form':ThreadForm(), 'data':Thread.objects.get(pk=id) }) def post(self, request): form_data = ThreadForm(request.POST, request.FILES) all_files = request.FILES.getlist('File_Form_Label') if form_data.is_valid(): new_thread = form_data.save(commit=False) new_thread.user = request.user new_thread.save() for f in all_files: file = Files(File=f) here is the problem that i want to upload this file in MEDIAROOT/request.user.username/new_thread.id/ ANY method to do this ? file.save() new_thread.Media.add(file) new_thread.save() return HTTPResponse('SUCCESSFULL') i Dont know how to use instance method in ManyToManyField.. -
Using **kwargs, a dictionary from views was not successfully pass to a function in models properly
I am trying to pass a dictionary in views to a function in models and using **kwargs to further manipulate what i want to do inside the function. I try to call the dict before passing it in to the function. The data is there. The moment the dict was pass to the function (isAvailable) the kwargs is empty. Here are the code snippets from views.py. def bookingAvailable(request): available = isAvailable(data=request.data) Here are the code snippets from models.py def isAvailable(**kwargs): bookedDate = kwargs.get('bookedDate') customerID = kwargs.get('customerID') cpID = kwargs.get('cpID') request.data is populated with data in a dictionary form. But the moment it got in to **kwargs everything is gone. Not so sure what happen in between. Any help is appreciated! -
Search database based on name with multiple returns. django
Hello guys am building a search tool for postgres in django and am getting a lot of errors my output is in this way. <QuerySet [<Bindll: HIV-1 protease>, <Bindll: HIV-1 protease>, <Bindll: HIV-1 protease> my code is #Search resuts page. {% extends 'Search/base.html' %} {%block content %} <center> <br/><br/><br/><br/> <h1>{% if ChemSearched %} {{ChemSearched}} <br> <br> {% for Bindll in tarname %} {{tarname}}<br> {% endfor %} </h1></strong> {% else %} <strong>No Entry</strong> {% endif %} Copyright (c) </center> {% endblock %} My database name in Bindll. #Views.py page from django.shortcuts import render from django.http import HttpResponseRedirect from .models import Bindll def search_result(request): if request.method == "POST": ChemSearched = request.POST.get('ChemSearched') tarname = Bindll.objects.filter(targetnameassignedbycuratorordatasource__contains=ChemSearched) return render(request, 'Search/search_result.html', {'ChemSearched':ChemSearched,'tarname':tarname}) else: return render(request, 'Search/search_result.html',{}) using Postgresql and gitbash if related. Thanks in advace.