Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
How to create a unique id for an entire django formset?
I have created a formset to submit project costs and i want each submission to have a unique id. I want to use the submission id in a url later on(ie "projects/1/cost-submission-edit/3"). 1 is the project's id and 3 should be the cost submission id. The formset is defined as: models.py class ProjectData(models.Model): project_name = models.CharField(max_digits = 20) client = models.CharField(max_digits= 15) class ProjectCostSubmission(models.Model): project_name = models.ForeignKey(ProjectData, max_digits = 20) cost_name = models.CharField(max_digits= 15) amount = models.DecimalField(max_digits=9) submission_date = models.DateField(auto_now_add=True) payment_approval_date = models.DateField(auto_add_now=True) forms.py class MyForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.label_suffix = "" class Meta: model = ProjectData fields = "__all__" MyFormSet = inlineformset_factory(ProjectData,ProjectCostSubmission, form=MyForm,extra=2) views.py class ProjectCostView(CreateView): template_name = "/project_cost.html" model = ProjectCostSubmission fields = '__all__' form_class = MyForm urls.py path("/projects/<int:project_id>/cost-submission-edit/",ProjectCostView.as_view(),name="costView") After 3 submissions,the edit page renders the formset like this: Project Name Client Cost Name Amount Submission Date Approval Date ------------ ------ -------- ------ --------------- ------------- Project1 Client1 Cost A 1000.00 12/02/2019 12/03/2019 Project1 Client1 Cost B 1000.00 12/02/2019 12/03/2019 Project1 Client1 Cost C 1000.00 12/03/2019 12/03/2019 Project1 Client1 Cost A 1000.00 12/03/2019 12/03/2019 Project1 Client1 Cost F 1000.00 12/04/2019 12/04/2019 Project1 Client1 Cost G 1000.00 12/04/2019 12/04/2019 ------------------------------------------------------------------------- Total: $6000.00 ------------------------------------------------------------------------- with the url "/projects/1/cost-submission-edit/".'/1/' … -
Redis php session handling and fetching saved session on Django
I have saved php session in redis using php session handler and i want to read that session value in Django. The issue is I am getting a byte sting on Django side which seems to be incorrect format for me as I want the value direct by just passing the key to redis server. I want "This is shahiq" only as a result ? -
Is there a way to avoid Gatsby from breaking when a GraphQL node is empty from a Django Rest Framework source?
I am trying to make a simple blog using Gatsby and Django REST Framework for my endpoints. Along with returning the title and content, I am also returning a tags field which could be an array of object and an empty array when the post contains no tags. The error comes up when I try querying a post with no tags (i.e having an empty array). Gatsby breaks since GraphQL cant go forward into querying the children nodes. This is my GraphQL query from my Gatsby page: query MyQuery { allRestApiPosts { edges { node { tags { id tag { color name } } id content title author { profile { first_name last_name profile_photo } } } } } } And the page breaks with this error: There was an error in your GraphQL query: - Unknown field 'tags' on type 'RestApiPosts!'. How can I avoid this error when there are no tags attached to a post? -
Django: inner function with request as parameter
In my views.py, I have the following Function Based View: # Create your views here. @login_required def initial_load(request): # only superusers can upload documents if request.user.is_superuser: if request.method == 'POST': # get the excel sheet excel_file = request.FILES["ExcelFile"] # perform validations validate_uploaded_excel(request, excel_file) # upload file to Document print("still executing") form = DocumentForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect('pages:home') return redirect('pages:home') form = DocumentForm() return render(request, 'excel/initial_load.html', {'form': form}) else: messages.warning(request, "You are not a superuser") return redirect("pages:home") as you can observe, I have the function validate_uploaded_excel which has the following code: def validate_uploaded_excel(request, excel_file): message_list = [] # retrieve the sheet names allowed _list = settings.EXCEL_ALLOWED_SHEET_LIST_INDICATORS # check if the sheets names is the one expected (validated, message_sheets) = excel_utils\ .validate_excel_sheet_names(excel_file, _list) message_list.append(message_sheets) # If no errors detected if validated: messages.success(request, "File format is correct") return redirect('pages:home') else: for mess in message_list: # When there was no error, message was set to none if mess is not None: messages.warning(request, mess) return redirect('excel:initial_load') I though that the redirect from validate_uploaded_excel would just redirect to the page, but it seems that Django uploads the file no matter the output of validate_uploaded_excel. How is this possible? How can I avoid such behavior? -
Django Rest Framework - how to save data based on foreign key
I'm working on an app where a user uploads a file. The user chooses a "Project" to assign the file to. Each project is assigned a "user" and an "editor". When the file is uploaded, I'm trying to set the owner of the file based on the "user" from the "project". Project Model: class Project(models.Model): projectCode = models.CharField(max_length=10) projectName = models.CharField(max_length=100) user = models.ForeignKey( User, related_name="projects", on_delete=models.CASCADE, null=True) editor = models.ForeignKey( User, on_delete=models.CASCADE, null=True) creationDate = models.DateTimeField(auto_now_add=True) completedDate = models.DateTimeField(null=True, blank=True) dueDate = models.DateTimeField(null=True, blank=True) def __str__(self): return f"{self.projectName}" Model for the file being uploaded: class Completed(models.Model): completed = models.BooleanField(default=False) url = models.CharField(max_length=100) handle = models.CharField(max_length=30) filename = models.CharField(max_length=100) size = models.IntegerField() source = models.CharField(max_length=50) uploadId = models.CharField(max_length=50) originalPath = models.CharField(max_length=50) owner = models.ForeignKey( User, related_name="completed", on_delete=models.CASCADE, null=True) project = models.ForeignKey( Project, related_name="projectId", on_delete=models.SET_DEFAULT, default=1) uploadDate = models.DateTimeField(auto_now_add=True) editor = models.ForeignKey( User, related_name="editor", on_delete=models.CASCADE, null=True) def __str__(self): return f"{self.filename}" Project Serializer: class ProjectSerializer(serializers.ModelSerializer): user = UserSerializer(read_only=True) class Meta: model = Project fields = '__all__' Serializer for file uploaded: class CompletedSerializer(serializers.ModelSerializer): project = ProjectSerializer(read_only=True) owner = UserSerializer(read_only=True) editor = UserSerializer(read_only=True) class Meta: model = Completed fields = '__all__' And finally, the viewset for the uploaded file: class CompletedViewSet(viewsets.ModelViewSet): permission_classes = [ … -
How can I extract cookies of browser(or a particular site) using python or django?I am trying with the following code
import browser_cookie3 import requests import re cj=browser_cookie3.chrome() r=requests.get('https://www.youtube.com/', cookies=cj) get_title = lambda html: re.findall(('(.*?)'), html, flags=re.DOTALL)[0].strip() get_title(r.content) And i am getting the following error- TypeError: cannot use a string pattern on a bytes-like object (It get in line 6.) -
How to edit django DRF API code that queries DB and returns data, to read in a file and upload data
I know there are a lot of questions like this out there, I'm just really confused about my specific case. I have a employee_models.py file with three classes; one with employee names and one with dept details, and then one that combines these two and some other info: from django.db import models class employee_name(models.Model): id=models.AutoField(primary_key=True) first_name = models.CharField(max_length=100, blank=True, null=True) surname = models.CharField(max_length=100, blank=True, null=True) middle_initial = models.CharField(max_length=100, blank=True, null=True) class employee_dept(models.Model): id = models.AutoField(primary_key=True) employee = models.ForeignKey('employee_name',blank=True, null=True) dept_name = models.CharField(max_length=100, blank=True, null=True) time_in_dept = models.CharField(max_length=100, blank=True, null=True) due_review = models.CharField(max_length=100, blank=True, null=True) class full_employee_record(models.Model): id = models.AutoField(primary_key=True) name = models.ForeignKey('employee_name',blank=True, null=True) dept = models.ForeignKey('employee_dept',blank=True, null=True) address = models.CharField(max_length=100, blank=True, null=True) benefits = models.CharField(max_length=100, blank=True, null=True) I have a serializers.py file: from rest_framework import serializers from employee_models import employee_name,employee_dept class EmployeeNameSerializer(serializers.ModelSerializer): class Meta: model = employee_name fields = "__all__" class EmployeeDeptSerializer(serializers.ModelSerializer): class Meta: model = employee_dept fields = "__all__" class FullEmployeeRecordSerializer(serializers.ModelSerializer): class Meta: model = full_employee_record fields = "__all__" and a Views.py file: class EmployeeNameViewSet(viewsets.ModelViewSet): """ This viewset automatically provides `list` and `detail` actions. """ queryset = employee_name.objects.all() serializer_class = EmployeeNameSerializer permission_classes = (permissions.IsAuthenticated, CuratedDataPermission) pagination_class = LongPagination class EmployeeDeptViewSet(viewsets.ModelViewSet): """ This viewset automatically provides `list` and `detail` actions. … -
How should I write my Models in django(This case is a little specific)?
I am in a bit of a weird situation right now and hence this question. Say I have a game and I have a website that shows stats for all its players. Now my problem is that I have a bunch of levels and I want to show stats like personal best(least no of moves or time) and stuff for each level to each player on my website. Now if I have to store all this data for each player, how would I do so? Originally I thought why not a table each for a player which has columns of level no, personal best and so on. But, then I would have a 100 tables (or models in this case of django) if I had 100 players and querying for a leaderboard and stuff becomes a problem. So my next best solution I thought was maybe have a table (model) with player names and have as many columns as there are levels and values for each entry would be their personal bests. But, then if I added more levels, scalability becomes an issue and it isn't an elegant solution either. So this is my problem, it isn't very technically to … -
ImportError: cannot import name 'six' from 'django.utils'
Currently, I have upgraded version of Django 2.0.6 to 3.0 and suddenly after calling python manage.py shell command got this error: ImportError: cannot import name 'six' from 'django.utils' (/path-to-project/project/venv/lib/python3.7/site-packages/django/utils/init.py) Full trace: Traceback (most recent call last): File "manage.py", line 13, in <module> execute_from_command_line(sys.argv) File "/path-to-project/project/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line utility.execute() File "/path-to-project/project/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 377, in execute django.setup() File "/path-to-project/project/venv/lib/python3.7/site-packages/django/__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "/path-to-project/project/venv/lib/python3.7/site-packages/django/apps/registry.py", line 91, in populate app_config = AppConfig.create(entry) File "/path-to-project/project/venv/lib/python3.7/site-packages/django/apps/config.py", line 90, in create module = import_module(entry) File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/path-to-project/project/venv/lib/python3.7/site-packages/corsheaders/__init__.py", line 1, in <module> from .checks import check_settings # noqa: F401 File "/path-to-project/project/venv/lib/python3.7/site-packages/corsheaders/checks.py", line 7, in <module> from django.utils import six Similar Questions: I read this Question and django-3.0, release note , but those answers couldn't help me. -
Printing all records with all the attributes
I am from PHP background and very new to Django. I just want to see all the records with it's values for that I have write below code Model file : class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') def __str__(self): return self.question_text View file: q = Question.objects.all() print(q) In console it only outputs question_text. How can I print all the records with all the attributes. -
ModuleNotFoundError: No module named 'Social'
Upgrading Django project to Python 3, python3 manage.py check is throwing this traceback. The project works fine in Python 2.7. I cannot figure out what is missing in my pip3 installs. Traceback (most recent call last): File "manage.py", line 11, in <module> execute_from_command_line(sys.argv) File "~/src/languages/env/lib/python3.7/site-packages/django/core/management/__init__.py", line 354, in execute_from_command_line utility.execute() File "~/src/languages/env/lib/python3.7/site-packages/django/core/management/__init__.py", line 328, in execute django.setup() File "~/src/languages/env/lib/python3.7/site-packages/django/__init__.py", line 18, in setup apps.populate(settings.INSTALLED_APPS) File "~/src/languages/env/lib/python3.7/site-packages/django/apps/registry.py", line 85, in populate app_config = AppConfig.create(entry) File "~/src/languages/env/lib/python3.7/site-packages/django/apps/config.py", line 112, in create mod = import_module(mod_path) File "~/src/languages/env/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "~/src/languages/env/lib/python3.7/site-packages/social/__init__.py", line 12, in <module> from Social import _metadata … -
Django Channels: How to keep socket alive
I am trying to use django channels and templates to implement authentication. I know that there is an authentication section in the official website, but I have a question about the socket, which is created in the client side via templates. From my understanding, django templates multi-page application, so if I create a socket in login.html, the socket will be disconnected in main.html, and I have seen it happen. Is there a way to keep the socket alive even if I navigate to different pages? -
social auth with drf and react
I am using rest_framework_social_auth2 library for social authentication and using simple-jwt for authentication urls.py: path('auth/', include('rest_framework_social_oauth2.urls')), settings.py: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'image', 'crispy_forms', 'django_countries', 'users', 'corsheaders', 'api', 'sorl.thumbnail', 'rest_framework', 'social_django', 'rest_social_auth', 'django_filters', 'oauth2_provider', 'rest_framework_social_oauth2', ] REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES':[ 'rest_framework_simplejwt.authentication.JWTAuthentication', 'oauth2_provider.contrib.rest_framework.OAuth2Authentication', 'rest_framework_social_oauth2.authentication.SocialAuthentication', ], AUTHENTICATION_BACKENDS = ( 'social_core.backends.google.GoogleOAuth2', 'social_core.backends.facebook.FacebookOAuth2', 'rest_framework_social_oauth2.backends.DjangoOAuth2', 'django.contrib.auth.backends.ModelBackend',) SOCIAL_AUTH_FACEBOOK_SCOPE = ['email'] SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = { 'fields': 'id, name, email' } SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = [ 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/userinfo.profile', ] also changed the middleware templates created new application from django backend: this is the postman output: but how can i create api endpoint for facebook, google. -
How to use py dictionary to get names respect to ids in table?
I have id of selected department from dropdown in my database , i want to bind name of that id to table , so it is possible using py dictionary .. how? html <tbody id="myTable"> {% for employee in employees %} <tr> <td>{{ employee.employee_id}}</td> <td>{{ employee.Name}}</td> <td>{{ employee.designation}}</td> <td>{{ employee.department_id}}</td> <td>{{ employee.manager_id}}</td> <td>{{ employee.location_id}}</td> <td> <a href="#editEmployeeModal" class="edit" data-toggle="modal"><i class="material-icons" data-toggle="tooltip" title="Edit">&#xE254;</i></a> <a href="#deleteEmployeeModal" class="delete" data-toggle="modal"><i class="material-icons" data-toggle="tooltip" title="Delete">&#xE872;</i></a> </td> </tr> {% endfor %} </tbody> Here "{{ employee.department_id}}" is binding my id from database , so how can i set id and names in dictionary so i will get name of that id? -
Moving from backend to Django graph
i am quite new in Django and now matplotlib. I want the following code to conert to graph and seek for any help: import numpy as np import pandas as pd from pandas_datareader import data as wb from yahoofinancials import YahooFinancials symbols='AAPL' yahoo_financials = YahooFinancials(symbols) new_data = pd.DataFrame() for s in symbols : new_data[s] = wb.DataReader(s, data_source ='yahoo', start = '2014-1-1')['Adj Close'] a = new_data[s] a contains stock prices and i want them to be in graph. I did with matplotlib in backend in python, but confused how to convert it in graph in Django. Would be thankful to any help and tips. -
Problem while using mypy with my django project
I have implemented mypy in my django rest framework but I am getting errors ModuleNotFoundError: No module named 'config' while running mypy.Is there any wrong with my django_settings_module in my mypy.ini file ? I used to run my project with the command python manage.py runserver --settings=config.settings.development which was working fine but while configuring this setting in the mypy it is giving me error. What I might be doing wrong ? Any help would be appreciated. mypy.ini [mypy] plugins = mypy_django_plugin.main, mypy_drf_plugin.main ignore_missing_imports = True warn_unused_ignores = True strict_optional = True check_untyped_defs = True follow_imports = silent show_column_numbers = True [mypy.plugins.django-stubs] django_settings_module = config.settings.development settings directory /project /config __init__.py urls.py wsgi.py /settings __init__.py base.py development.py wsgi.py app_path = os.path.abspath( os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir) ) sys.path.append(os.path.join(app_path, "project")) os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') application = get_wsgi_application() -
RelatedObjectDoesNotExist at /admin/login/
Django beginner. the project is aboud a really basic food delivery app. I have extended the User Model using a One-to-One link as specified here, in order to include a 'city' field when a new user tries to register. The problem is that when I create a superuser in the python shell, and try to access that account from http://127.0.0.1:8000/admin/login/?next=/admin/ and hit login, the following page is returned: As far as I can tell, this is due to the fact that every User/Superuser has to be linked to one Customer object. How can I avoid this? Could a solution be to overwrite the superuser class by specifying that that field 'city' is not needed? If yes, how can I do that? If not, what is the best practice in this case? here is accounts/model.py from django.db import models from django.contrib.auth.models import User from city.models import City from django.db.models.signals import post_save from django.dispatch import receiver # Create your models here. class Customer(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) city = models.ForeignKey(City, on_delete=models.CASCADE) @receiver(post_save, sender=User) def create_customer_user(sender, instance, created, **kwargs): if created: Customer.objects.create(user=instance) @receiver(post_save, sender=User) def save_customer_user(sender, instance, **kwargs): instance.customer.save() If you need any other code to be uploaded, please let me know that, … -
Django with asgi_rabbit why do i get connection closed error. Not establishing new connection
I am using Django with asgi and a rabbitmq broker. It works fine but on some request i get the following error message. And then django loses its connection and does not open a new one. I have no clue where to start searching. I tried with asgi-rabbitmq 0.5.5 but there the same happend always after 60s since rabbitmq did get a heartbeat timeout. But i don't know how to avoid that. dependencies: Rabbit mq 3.8.1 amqp==2.5.2 # via kombu asgi-rabbitmq==0.5.3 asgiref==1.1.2 # via asgi-rabbitmq, channels, daphne autobahn==19.11.1 # via daphne billiard==3.6.1.0 # via celery cached-property==1.5.1 # via asgi-rabbitmq, zeep celery==4.3.0 daphne==1.4.2 # via channels defusedxml==0.6.0 # via zeep django==1.11.26 djangorestframework==3.9.4 kombu==4.6.6 # via celery lxml==4.4.2 # via zeep markupsafe==1.1.1 more-itertools==5.0.0 # via zipp msgpack-python==0.5.6 # via asgi-rabbitmq six==1.13.0 # via asgiref, singledispatch, structlog, txaio, zeep twisted==19.10.0 # via daphne Channels confg: BROKER_URL = 'amqp://' CHANNEL_LAYERS = { 'default': { 'BACKEND': 'asgi_rabbitmq.RabbitmqChannelLayer', 'CONFIG': { 'url': 'amqp://guest:guest@localhost:5672/%2F', }, 'ROUTING': 'timeline_prototype.apps.core.routing.channel_routing', } } django error (ie. runserver) ERROR daphne.http_protocol http_protocol.py 184 process 2019-12-05 09:31:03 [error ] Traceback (most recent call last): File "/myproject-env/lib/python2.7/site-packages/daphne/http_protocol.py", line 178, in process "server": self.server_addr, File "/myproject-env/lib/python2.7/site-packages/asgi_rabbitmq/core.py", line 812, in send future = self.thread.schedule(SEND, channel, message) File "/myproject-env/lib/python2.7/site-packages/asgi_rabbitmq/core.py", … -
converting string to int, django rest framework, passing data from front end as formdata
One of my field in models accept integer, and i am using formdata() to send data from front-end to my rest api. After some research i came to know that formdata() converts everything to strings and so i am not able to do a successful post. my code at serializers at this moment is : class xyzSerializers(serializers.ModelSerializer): class Meta: model = Profile fields = ('__all__') Trying to find a solution i read about Field-Level-Validation in serializers of rest framework 'user' is the field which accepts value in integer and my new code is : class xyzSerializers(serializers.ModelSerializer): user = serializers.CharField() def validate_user(self, value): if not value: return 0 try: return int(value) except ValueError: raise serializers.ValidationError('You must supply an integer') class Meta: model = Profile fields = ('__all__') I am getting the same error, can some one please tell me the correct way to use field level validation. or also to convert string to int at serializers of rest api. Thanks -
How to filter on a field for a set of values
I have a model called products. The category belongs to this model. Now I can filter for this section field with a value. Actually I wanted to filter by multiple values for the same field Example: If I filter with ** phone ** (is a category) it works But for this section field, I need to filter by ** phone ** and ** cases ** filter class ProductFilter(filters.FilterSet): min_price = filters.NumberFilter(field_name="price", lookup_expr='gte') max_price = filters.NumberFilter(field_name="price", lookup_expr='lte') class Meta: model = Product fields = ['category', 'min_price', 'max_price' ] View class ProductListView(generics.ListAPIView): permission_classes = [IsAuthenticated] queryset = Product.objects.all() serializer_class = ProductListSerializer filter_backends = (filters.DjangoFilterBackend,) filter_class = ProductFilter How do I do that? Can someone help me? -
Django - invalid literal for int() with base 10: b'latest_start_date'
I dont know what happened, it worked fine yesterday. Traceback: File "D:\Users\...\env\lib\site-packages\django\core\handlers\exception.py" in inner 34. response = get_response(request) File "D:\Users\...\env\lib\site-packages\django\core\handlers\base.py" in _get_response 115. response = self.process_exception_by_middleware(e, request) File "D:\Users\...\env\lib\site-packages\django\core\handlers\base.py" in _get_response 113. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "D:\Users\...\personal\views.py" in display_mobiles 69. return render(request, 'header.html', context) File "D:\Users\...\env\lib\site-packages\django\shortcuts.py" in render 36. content = loader.render_to_string(template_name, context, request, using=using) File "D:\Users\...\env\lib\site-packages\django\template\loader.py" in render_to_string 62. return template.render(context, request) File "D:\Users\...\env\lib\site-packages\django\template\backends\django.py" in render 61. return self.template.render(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in render 171. return self._render(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in _render 163. return self.nodelist.render(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in render 937. bit = node.render_annotated(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in render_annotated 904. return self.render(context) File "D:\Users\...\env\lib\site-packages\django\template\loader_tags.py" in render 150. return compiled_parent._render(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in _render 163. return self.nodelist.render(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in render 937. bit = node.render_annotated(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in render_annotated 904. return self.render(context) File "D:\Users\...\env\lib\site-packages\django\template\defaulttags.py" in render 309. return nodelist.render(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in render 937. bit = node.render_annotated(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in render_annotated 904. return self.render(context) File "D:\Users\...\env\lib\site-packages\django\template\defaulttags.py" in render 309. return nodelist.render(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in render 937. bit = node.render_annotated(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in render_annotated 904. return self.render(context) File "D:\Users\...\env\lib\site-packages\django\template\loader_tags.py" in render 62. result = block.nodelist.render(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in render 937. bit = node.render_annotated(context) File "D:\Users\...\env\lib\site-packages\django\template\base.py" in render_annotated 904. return self.render(context) File "D:\Users\...\env\lib\site-packages\django\template\defaulttags.py" in … -
how to paginate a ModelMultipleChoiceField when form loads in Django CreateView
I have to paginate a queryset when form loads in Django Createview. I am using ModelMultipleChoiceField as of now to list all the products,how can i implement pagination to this? forms.py class CustomUserForm(forms.ModelForm): first_name = forms.CharField(validators=[not_special_charactor]) last_name = forms.CharField(validators=[not_special_charactor]) class Meta: model = User fields = ( 'first_name', 'last_name', 'email','products') def __init__(self, company_id, *args, **kwargs): super(CustomUserForm, self).__init__(*args, **kwargs) self.fields['first_name'].required = True self.fields['last_name'].required = True self.fields["products"] = forms.ModelMultipleChoiceField( widget=forms.CheckboxSelectMultiple( attrs={ "class":"noti_select" } ), queryset = CustomerProduct.objects.filter( customer=company_id).filter(parent=None), required=False, ) views.py class CustomerUserCreateView(PermissionCheckMixin, CreateView, MultipleObjectMixin): form_class = CustomUserForm template_name = 'add-customer-user.html' raise_exception = True paginate_by = 10 def get_form_kwargs(self, *args, **kwargs): form_kwargs = super(CustomerUserCreateView, self).get_form_kwargs(*args, **kwargs) form_kwargs['company_id'] = Customer.objects.get( slug=self.kwargs['slug']) return form_kwargs def form_valid(self, form): user = form.save() user.company = Customer.objects.get(slug=self.kwargs['slug']) password = User.objects.make_random_password() user.set_password(password) user.save() return HttpResponseRedirect(reverse('customer_users', kwargs={'slug': user.company.slug})) def get_context_data(self, **kwargs): context = super(CustomerUserCreateView, self).get_context_data(object_list=object_list, **kwargs) context['customer'] = Customer.objects.get(slug=self.kwargs['slug']) context['activate'] = 'customers' return context I am getting all the products in my template from forms.I want to implement page number pagination. I need to select products the user can have access.Since there are large products, i wan't show all the products with pagination on user create form. How can i do this.I am new to django templates...please help me out. … -
Is it possible to show urls in django including request type?
I want to have a list with all the url in a django project with the type of request(GET,POST,PUT,DELETE) I already tried this pip install django-extensions and after this code on terminal python manage.py show_urls I get a list with all the urls, but it would be nice to have the request type aswell -
Django Admin LogEntry: how it works in non admin actions?
I am having some struggles how does exactly django.admin.LogEntry objects are created. Consider the following scenario: I have a bunch of functions which take a csv file with data that allow me to create multiple objects at one call (just iterate through the file, use the data and if data in given row is correct: create a Model instance). I want to make sure that that each of that creation will be logged. The question is: django docs are not very descriptive on how does LogEntry works and I am not sure if such actions (not taken in the admin panel itself) will be logged there. Also: will the LogEntries be created for the related objects or I have to trigger them manually? Does anybody got any experience with such scenarios and can share thoughts about it? -
How to set Authentication and Permission on django URLs for imported views
I want to use django REST framework's inbuilt API documentation. The problem is that I need it to be private with a login and I couldn't manage thus far. I do the following to create my API doc as documented: from rest_framework.documentation import include_docs_urls API_TITLE = "Cool title" API_DESCRIPTION = "Badass description" urlpatterns = [ path('docs/', include_docs_urls(title=API_TITLE, description=API_DESCRIPTION) That creates my docs, which is fantastic. But it is accessible by everyone even though I have set my permissions and authentications for all the endpoints to private. I did this like this in my configs: REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', 'rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.BasicAuthentication', ), 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAdminUser', ) } But even with this set I can access all site of the docs. So I am looking for a way to protect my URLs which I imported and thus have no classes or methods at my disposal to protect. (So I can't use any decorators on them). Then I tried using the login required decorator on my URL like so: path('docs/', login_required(include_docs_urls(title=API_TITLE, description=API_DESCRIPTION))), but it throws me the following error: django.template.exceptions.TemplateDoesNotExist: registration/login.html Is there a way of protecting such URLs? Help is very much appreciated! Thanks a lot in advance!