Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
how to filter the objects in django? using OR and AND
salary_band = request.POST['salary_band'] decipline = request.POST['decipline'] role = request.POST['role'] find_role = Role.objects.filter(role = role) find_decipline = Decipline.objects.filter(name = decipline) find_sal_band = SalaryBand.objects.filter(sequencenter code heree_number = int(salary_band), role = find_role, decipline = find_decipline).exists() -
I Want To Save image in folder using django but i get this error
I Want To Save image in folder using django but i get this error: MultiValueDictKeyError at /lunchpk/signup/ i need to fix any help will be appreciated i also see more questions but i don't get correct answer so please answer my question don't add it to duplicate here's my views.py def signup(request): registered = False if request.method == "POST": user_form = UserForm(data=request.POST) profile_form = NewForm(data=request.POST) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save() user.set_password(user.password) user.save() profile = profile_form.save(commit=False) profile.user = user if 'Profile_Image' in request.FILES: profile.Profile_Image = request.FILES['profile_pics'] # profile.Dish_Image = request.FILES['Dish_pic'] profile.save() registered = True else: print(user_form.errors,profile_form.errors) else: user_form = UserForm() profile_form = NewForm() return render(request,'html/signup.html',{'user_form':user_form,'profile_form':profile_form,'registered':registered}) Here is my model.py class UserInfo(models.Model): user = models.OneToOneField(User,on_delete=models.CASCADE) Profile_Image = models.ImageField(upload_to='profile_pics',null=True, blank=True) Dish_Image = models.ImageField(upload_to='Dish_pic',null=True, blank=True) Dish_Name = models.CharField(max_length=10,) def __str__(self): return self.user.username here is my forms.py from django import forms from django.contrib.auth.models import User from .models import * class UserForm(forms.ModelForm): password = forms.CharField(widget=forms.PasswordInput()) class Meta: model = User fields = ('username','email','password') class NewForm(forms.ModelForm): class Meta: model = UserInfo fields = ('Profile_Image','Dish_Image','Dish_Name') -
Filter posts based on category
I'm new in django and generally in programming. And now I write my first project - that will be my personal blog, it's almost done except one feature: I have list of categories shown on the page in the right panel. 1) The question is how can I sort/filter my posts by these categories? I mean I want to click on one of these categories in the right panel and to see the posts where that category is mentioned (post may have several categories). I've tried a lot of combinations, which found on stackoverflow, but I didn't do that before so can't understand how to realize that feature in my project. models.py class Category(models.Model): title = models.CharField(max_length=20) def __str__(self): return self.title class Post(models.Model): title = models.CharField(max_length=100) overview = models.TextField() timestamp = models.DateTimeField(auto_now_add=True) content = HTMLField('Content') author = models.ForeignKey(Author, on_delete=models.CASCADE) thumbnail = models.ImageField() categories = models.ManyToManyField(Category) featured = models.BooleanField() previous_post = models.ForeignKey('self', related_name='previous', on_delete=models.SET_NULL, blank=True, null=True) next_post = models.ForeignKey('self', related_name='next', on_delete=models.SET_NULL, blank=True, null=True) def __str__(self): return self.title views.py def filter_by_category(request): post_list = Post.objects.filter(categories=) context = { 'post_list': post_list } return render(request, 'post_by_category.html', context) urls.py urlpatterns = [ path('admin/', admin.site.urls), path('', index), path('blog/', blog, name='post-list'), path('search/', search, name='search'), path('blog/filter_by_category/', filter_by_category, name='filter_by_category'), path('subscribe/', … -
Django, forward form data using email, after submitting it to database
im new to django so i apologize in advance. I've successfully created a webform that submits everything successfully to a database and also successfully emails a designated adress upon form submission. now that everything is working I would like to add the content that is being submitted into that same email that is being sent out on submit. send_email seemingly only takes strings and render_to_string doesnt work for me on my form. is there an easy way to get the data being submitted into a readable format and pass it into the content of the email being sent? def snippet_detail(request): if request.method == 'POST': form = SnippetForm(request.POST) if form.is_valid(): form.save() send_mail('Form submitted', 'test', settings.EMAIL_HOST_USER, ['email@email.com'], fail_silently = False) return render(request, 'submittedformsuccess.html') Everything here works I simply wanna replace 'test' with for example a copy of the template form.html that the user sees, but completely filled in -
how to send a query set throw the super method?
i'm trying to send the log attribute to the super get function and list all the logs although i want the filter works on BasicQUserSerializer the how can i do this ? this is my viewsets class CustomerLogView(generics.ListAPIView): permission_classes = (AllowAny,) queryset = QUser.objects.all() serializer_class = BasicQUserSerializer filter_backends = [OrderingFilter] pagination_class = AdvancedPagination def get(self, request, *args, **kwargs): account = get_object_or_404(Account, pk=kwargs['pk']) log =CustomerLogSerializer(LogEntry.objects.filter(account=account), many=True).data return super().get(request, *args, **kwargs,) this is my Serializer class CustomerLogSerializer(serializers.ModelSerializer): actor = BasicQUserSerializer() class Meta: model = LogEntry fields = ('id', 'actor', 'account', 'changes', 'remote_addr', 'additional_data','timestamp') -
How to test an api that accesses an external service?
I am creating an application that receives some parameters and sends an email using a company server, when I do the test using postman it works, but using the same parameters to perform a test happens an error and I can't debug, only 500 error appears, can i see the test django server log? urls.py urlpatterns = [ path('modules/email/send', views_email.email_send.as_view(), name='email_send'), ] views_email.py class email_send(APIView): permission_classes = (IsAuthenticated,) def post(self, request): # ver anexo e como carregar os componentes try: body = json.loads(request.body.decode('utf-8')) fromaddr = body.get("from") to = body.get("to") cc = body.get("cc") subject = body.get("subject") level = body.get("level") level_color = body.get("level_color") alert_name = body.get("alert_name") body_html = body.get('body_html') #Arquivos html index_file = body.get("index_file") header_file = body.get("header_file") footer_file = body.get("footer_file") # body_file = body.get("body_file") message = MIMEMultipart("alternative") message["Subject"] = subject message["From"] = fromaddr message["To"] = to message["CC"] = cc .... part1 = MIMEText(text, "plain") part2 = MIMEText(html_string, "html") message.attach(part1) message.attach(part2) server = smtplib.SMTP('srvsmtp1.santander.com.br', 25) response = server.sendmail(fromaddr, toaddr, message.as_string()) if response == {}: response = 200 else: pass return Response(response, content_type="text/plain", status=status.HTTP_200_OK) except Exception as e: return Response(str(e), content_type="text/plain", status=status.HTTP_400_BAD_REQUEST) test_urls.py from rest_framework.test import RequestsClient from rest_framework.authtoken.models import Token import requests client = RequestsClient() token = Token.objects.get(user__username='admin') class EmailSendTest(TestCase): def test_email_send(self): headers … -
Django: Ajax Foreign Key's Add with popup
I use Django == 2.2.3 Postgres lasted version And chrome for browser However, I use this tutorial Ok ! I'm trying to reproduce some functionality of the Django administration interface in my own frontend application. So I have models that I create using a modal. Except that for linked models I invoke a popup if the linked model does not exist and I create it in the popup. The models are created normally and saved in the database. The main problem is that when the popup closes the new item created is not selected, let alone in the list of objects available in my selection Examle with image: Firstly i pushed link When i get the modal i click on add button I get first popup Inside my popup i push another + button to add element if not exist After Submitting inside another popup my select is not update: Example views: def coverage_popup_cru(request, insurance_id, coverage_id=None): """ This view is used to create and update coverage :param request: current request object :param insurance_id: Insurance primary key :param coverage_id: coverage primary key or None if create new :return: HttResponse... """ update = False instance = None get_insurance = get_object_or_404(InsuranceModel, pk=insurance_id) if … -
Where does the base_fields dictionary in django ManagementForm class come from?
I'm trying to improve my understanding of using forms in django and looking at the docs I'm confused of where the base_fields dictionary comes from in ManagementForm class?Hope someone can help me understand. Initially I thought its passed in by some other method but I cant seem to find which one. class ManagementForm(Form): """ Keep track of how many form instances are displayed on the page. If adding new forms via JavaScript, you should increment the count field of this form as well. """ def __init__(self, *args, **kwargs): self.base_fields[TOTAL_FORM_COUNT] = IntegerField(widget=HiddenInput) self.base_fields[INITIAL_FORM_COUNT] = IntegerField(widget=HiddenInput) Source code: https://docs.djangoproject.com/en/2.2/_modules/django/forms/formsets/#BaseFormSet -
use image in html from database using django
when i try display image from my database to html it's won't to show but all rest data are display ! so what is the error ? my code model : class Homepage(models.Model): name = models.CharField(max_length=50,default="") app_contect = models.CharField(max_length=240,default="") page_url = models.URLField(max_length=250,default="") app_image = models.ImageField(upload_to='images/',null=True, blank=True) def __str__(self): return self.name views.py : def home_page(request): app = Homepage.objects.all() page = request.GET.get('the_home_page', 1) # the_home_page is the name of pages when user go to page 2 etc paginator = Paginator(app, 6) # 6 that's mean it will show 6 apps in page try: appnum = paginator.page(page) except PageNotAnInteger: appnum = paginator.page(1) except EmptyPage: appnum = paginator.page(paginator.num_pages) return render(request,'html_file/enterface.html', { 'appnum': appnum }) Html file : {% for home_page in appnum %} <label id="label_main_app"> <img id="img_main_app_first_screen" src="{{ home_page.app_image }}" alt="no image found !" height="160" width="165" > {{ home_page.name }} <br><br> <p id="p_size_first_page"> {{ home_page.app_contect}} <br> <br> <a href=" {{ home_page.page_url }} " type="button" class="btn btn-primary"><big> See More & Download </big> </a> </p> </label> {% endfor %} any help please ? -
Start two http servers in Django
I have working application on port 8080(Django 1.6). It binds to external network interface. I would like to add one more http listener inside my Django app. E.G. one more http server on port 8000, and bind it to internal network interface only. Is it possible in Django? -
HTML CSS Design: Bootstrap UI-KIT with bootstrap-sidebar
I'm trying to Design a simple Django Web App I've written by myself. But I absolutely don't know how to design it like a want. HTML and CSS are like Word if you try to put in a simple image and that'll destroy your whole layout and design of the Word File. I'm Using this HTML Template: https://colorlib.com/wp/template/tools-ui-kit/ DEMO: https://colorlib.com/preview/theme/tools/ And I'm using this Sidebar: https://bootstrapious.com/p/bootstrap-sidebar#further-improvements I've painted a Screenshot so you could see what I want to archive and the current behavior: The <script> Parts and the <link> Parts that includes all the Scripts and CSS Files is included in the base_generic.html that is part of every other html file. This is my CSS File: .sidebar-nav { margin-top: 20px; padding: 0; list-style: none; } table { border-collapse: collapse; width: 100%; } td, th { border: 1px solid #DDDDDD; text-align: left; padding: 8px; } tr:nth-child(even) { background-color: #DDDDDD; } #sidebarCollapse { width: 40px; height: 40px; background: #f5f5f5; } #sidebarCollapse span { width: 80%; height: 2px; margin: 0 auto; display: block; background: #555; transition: all 0.8s cubic-bezier(0.810, -0.330, 0.345, 1.375); } #sidebarCollapse span:first-of-type { /* rotate first one */ transform: rotate(45deg) translate(2px, 2px); } #sidebarCollapse span:nth-of-type(2) { /* second one is … -
which implementation is better for endpoints?
i'm developing an api server with drf. one of our abilities must be finalizing the purchase. for this, there are some actions to be done. for example calculating final price considering some parameters effective on available discount,creating new row for some tables and finally send sms to the customer. all above can be done at one endpoint named finalize_purchase(for example). i think it's not good choice because of REST api concept but easy for client app to use. but another way is separating each section of process and let client app to use them. for example first client have to call an endpoint to calculating discount and final price, then calling an endpoint to sending sms to the customer.this is based on REST principles and CRUD.but it's not easy for client to calling multiple endpoints just for one action. so which way is correct according to the REST api principles? -
Django-cors-headers not working on live server
I'm working with djangorestframework and everything works fine on the local test and live server, But when I put the configuration for cors management using django-cors-headers package the applications works on test server fine but on the live server(Apache2) it doesn't work and throws the following Exception: mod_wsgi (pid=25506): Target WSGI script '/var/www/python3-projects/www.mywebsite.com/api/wsgi.py' cannot be loaded as Python module. mod_wsgi (pid=25506): Exception occurred processing WSGI script '/var/www/python3-projects/www.mywebsite.com/api/wsgi.py'. Traceback (most recent call last): File "/var/www/python3-projects/www.mywebsite.com/api/wsgi.py", line 16, in application = get_wsgi_application() File "/var/www/python3-projects/lib/python3.6/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application django.setup(set_prefix=False) File "/var/www/python3-projects/lib/python3.6/site-packages/django/init.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "/var/www/python3-projects/lib/python3.6/site-packages/django/apps/registry.py", line 83, in populate raise RuntimeError("populate() isn't reentrant") RuntimeError: populate() isn't reentrant Here is my configuration for django-cors-headers: INSTALLED_APPS = [ ... 'corsheaders', ] MIDDLEWARE = [ ... 'django.contrib.sessions.middleware.SessionMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', ... ] CORS_ORIGIN_WHITELIST = [ 'http://localhost', 'http://www.mywebsite.com', ] -
Run power-shell script from Django project
I have a Django application deployed in IIS server, this application runs some power-shell scripts. My power-shell scripts are stored in a deployment server. i can run all the power-shell scripts from my Django application when i am connected to the server using the remote computer, (the server is an RDP). But when i am disconnected from the server, my Django application can't run the power-shell scripts. this is the code than i am using in my view while running the script : Invoke-Command -ComputerName comptuer "-ScriptBlock { myscript.ps1 -SITE $args[0]} -
Using a single Microsoft authentication in frontend with Angular and in backend with Django REST API
I have recently made a working Django app which uses resources from MS Graph, where users authenticate in the same fashion as this tutorial's. I was then required to separate frontend, using Angular, and convert my Django app into a REST framework. I managed to set up frontend authentication in Angular as taught here. My question is: how can I use the token that was acquired in frontend to authenticate app's requests to my Django REST API, in order that the backend can also use it for its own queries to MS Graph API? Thank you guys in advance. -
Displaying Apliction error while deploying website app using django to heroku
I created a movie review website using Python-Django I tried to make it live using Heroku but while opening there it is Showing Application Error in Heroku. My app runs fine locally. Steps I followed to Install Heroku $sudo snap install --classic Heroku $heroku login And then run the following $pipenv lock $touch Procfile Add the following line in wsgi file : " web:gunicorn pages_project.wsgi --log-file -" $pipenv install gunicorn==19.9.0 Changes in the settings.py project/settings.py ALLOWED_HOSTS = ['*'] $heroku create $heroku git:remote -a xxx-yyy-26076 $heroku config:set DISABLE_COLLECTSTATIC=1 $git push heroku master $heroku ps:scale web=1 $heroku open Here is my code on Github. Here is my Website link--> https://fast-island-20902.herokuapp.com/ -
Object of type Logo is not JSON serializable
I'm trying to build django rest api which will get images from front part and also serve it via REST APi, the problem is that eventho I'm able to post data to django via PostMan, still I get error Object of type 'Logo' is not JSON serializable. Data is already in database but I would like to fix this issue but dont know where to start, tried to change Response to JsonResponse but it brought no effect Model class Logo(models.Model): name = models.CharField(max_length=60) preview = models.ImageField() thumb = models.ImageField() thumbL = models.ImageField() dataL = models.TextField(blank=False) thumbS = models.ImageField() dataS = models.TextField() posL = models.CharField(max_length=60) posS = models.CharField(max_length=60) def __str__(self): return str(self.name) Serialization: class LogoSerializer(serializers.ModelSerializer): posL = serializers.CharField(required=False) posS = serializers.CharField(required=False) dataL = serializers.CharField(required=False) dataS = serializers.CharField(required=False) class Meta: model = Logo fields = ('__all__') def create(self, validated_data): return Logo.objects.create(**validated_data) and View: class LogoViewSet(viewsets.ViewSet): parser_classes = (MultiPartParser, FormParser) def list(self, request, *args, **kwargs): queryset = Logo.objects.all() serializer = LogoSerializer(queryset, many=True) return Response(serializer.data) def post(self, request, *args, **kwargs): serializer = LogoSerializer(data=request.data) if serializer.is_valid(): serializer.validated_data['posL'] = positionL serializer.validated_data['posS'] = positionS bg = serializer.save() return Response(bg, status=status.HTTP_201_CREATED) else: bg = serializer.errors return Response(bg, status=status.HTTP_400_BAD_REQUEST) -
Django : How to differentiate post requests from different pages that is coming to the same page?
I have two pages both containing form. However both the pages are sending post request to the same page. How do I differentiate which page has sent the request. dummy.html(first page) <form action="/nda" method='POST'> {% csrf_token %} <button type="submit" name="submit" id="submit" value="I Agree" target="_blank">I Agree</button> <button onclick="window.open('/greeting')" target="_blank"> I Disagree </button></br> </form> This page redirects to nda page. nda.html(second page) This page also redirects to the same page. <form action="/nda"> {% csrf_token %} <button type="submit" name="submit" id="submit" value="I Agree" target="_self">I Agree</button> <button onclick="window.open('/greeting')" target="_self"> I Disagree </button></br> </form> My question is, how do I differentiate in my view that from which page it was coming from the page dummy or the same page that was nda. views.py def nda(request): if request.method=='POST' : # if this is from dummy I want to do this return render(request,'mainapp/nda.html',{'user':email.split('@')[0]}) if request.method=='POST' : # if this is from same page that is nda I want to do this return render(request,'mainapp/home.html') I am unable to figure out, how do I handle both cases differently -
Django REST Framework ObtainAuthToken User Login Api view
Hello Django community, I want to send back the email and the id of the user alongside the token when the user authenticate. I guess I must change the UserLoginApiView class but I don't know how to override the ObtainAuthToken class to do that. Does anybody have suggestions it would be very helpful? class UserLoginApiView(ObtainAuthToken): """Handle creating user authentication tokens""" renderer_classes = api_settings.DEFAULT_RENDERER_CLASSES This is my entire code on Github: https://github.com/KrestouferT/profiles-rest-api -
Is there a way to execute a big for-loop via Python Multiprocessing?
I am taking an excel file(.xlsx) as an input which has approx 30,000 rows. I am using XLRD to read the excel file. After reading the file i am doing some processing on the data and storing in an array of objects. The thing is that my code works fine for small number of rows like 100 to 200 but it gets stuck in a loop for the bigger file. I have tried using python Multithreading but never got a proper solution. def read(file_object, request): company_id = request.session[SessionKeys.COMPANY_KEY] wb = xlrd.open_workbook(file_object.file.path) data = dict() for sheet_index, sheet in enumerate(wb.sheets()): number_of_rows = sheet.nrows number_of_columns = sheet.ncols items = [] needs_edit = False for row in range(1, number_of_rows): al = AttendanceLog() for index, col in enumerate(range(number_of_columns)): al.company_id = company_id al.file_id = file_object.id if index not in [0, 1, 4, 6]: value = sheet.cell(row, col).value if index == 2: al.code = value try: al.employee = Employee.objects.filter(company_id=company_id).get(code=value) al.name = al.employee.name except ObjectDoesNotExist: needs_edit = True if index == 3: al.date = xlrd.xldate.xldate_as_datetime(value, wb.datemode).date() if index == 5: al.time = value items.append(al) data[sheet_index] = {'items': items, 'needs_edit': needs_edit} return data -
Django humanize intword remove number round
Currently i'm using intword in django to output the price field(bigint) like so : {{ property.price| intword }} But i have problem with the precision of the round function of intword For example if the data is 1490000000 then it should output 1.490 billion but instead it output 1.5 billion . Since this a price data i don't want that much rounding, is there a way to disable rounding or maybe only round till the third fourth number in the intword function from django. If there no options then i guess i have to go basic conversion diversion way. -
how to run a user input python matrix program in django? [duplicate]
This question already has an answer here: How to Run this python script with Django? 1 answer m = int(input('number of rows, m = ')) n = int(input('number of columns, n = ')) matrix = []; columns = [] for i in range(0,m): matrix += [0] for j in range (0,n): columns += [0] for i in range (0,m): matrix[i] = columns for i in range (0,m): for j in range (0,n): print ('entry in row: ',i+1,' column: ',j+1) matrix[i][j] = int(input()) print (matrix) -
Brand Filter by Category in shopping django rest
I am facing problems on filtering Brand by Category in Django Rest Framework. class Category(TimeStamp): name = models.CharField(max_length=100) slug = models.SlugField(max_length=100, unique=True, blank=True) icon = models.ImageField(upload_to='category_icons', null=True, blank=True) parent = models.ForeignKey('self', on_delete=models.SET_NULL, related_name='children', null=True, blank=True) class Brand(models.Model): brand_name = models.CharField(max_length=150) brand_image = models.ImageField(upload_to='brand_images', null=True, blank=True) category = models.ForeignKey(Category, on_delete=models.DO_NOTHING, null=True) here I have two models. For example I have a Category like Clothing -> Foot Wear -> Shoes if user enter Clothing category I should get all brands in Clothing but when I go to Shoes section I should get all brands in Shoes category. For this How can I write query_set? Any help would appreciated! Thanks in advance! -
celery worker crash when i start another
i use django with celery and redis. I would like to have three queues und three workers. My celery settings in the settings.py looks like this: CELERY_BROKER_URL = 'redis://localhost:6379' CELERY_RESULT_BACKEND = 'redis://localhost:6379' CELERY_ACCEPT_CONTENT = ['application/json'] CELERY_RESULT_SERIALIZER = 'json' CELERY_TASK_SERIALIZER = 'json' CELERY_TIMEZONE = 'Europe/Berlin' # CELERY QUEUES SETUP CELERY_DEFAULT_QUEUE = 'default' CELERY_DEFAULT_ROUTING_KEY = 'default' CELERY_TASK_QUEUES = ( Queue('default', Exchange('default'), routing_key='default'), Queue('manually_crawl', Exchange('manually_crawl'), routing_key='manually_crawl'), Queue('periodically_crawl', Exchange('periodically_crawl'), routing_key='periodically_crawl'), ) CELERY_ROUTES = { 'api.tasks.crawl_manually': {'queue': 'manually_crawl', 'routing_key': 'manually_crawl',}, 'api.tasks.crawl_periodically': {'queue': 'periodically_crawl', 'routing_key': 'periodically_crawl',}, 'api.tasks.crawl_firsttime': {'queue': 'default', 'routing_key': 'default',}, } Later i will start the workers with celery multi, but in the development phase i would like to start the worker manually to see errors or so. I start the redis server with redis-server and than i start the first worker default with: celery -A proj worker -Q default -l debug -n default_worker If i try to start the next worker in a new terminal with: celery -A proj worker -Q manually_crawl -l debug -n manually_crawl I get an error in the first default worker terminal: [2019-10-28 09:32:58,284: INFO/MainProcess] sync with celery@manually_crawl [2019-10-28 09:32:58,290: ERROR/MainProcess] Control command error: OperationalError("\nCannot route message for exchange 'reply.celery.pidbox': Table empty or key no longer exists.\nProbably the key ('_kombu.binding.reply.celery.pidbox') … -
Python Django Admin create new object and filter horizontal Filter elements
I would like to create a custom horizontal filter inside Django admin. My use case looks like this. I am working on a Testmanagment tool. You got "Projects" like websiteA or WebsiteB. Every Project has its own Elements/Groups. E.g WebsiteA got "Dashboard" and "Login" and WebsiteB has "Users" and "Orders". If I am creating a new Testcase I would like to choose the Project first and offer a filtered list to all corresponding Elements for that project. I don't want to get all Elements/Groups for a new Testcase. My code looks something like this: Forms.py: class TestCaseForm(forms.ModelForm): @staticmethod def groupSmartFilter(): return GroupModel.objects.filter(id=2) #working fine so far but should be something like return Projects.objects.filter(projectname=<$project_from_dropdown>).groups() def __init__(self, *args, **kwargs): forms.ModelForm.__init__(self, *args, **kwargs) self.fields['groups'].queryset = TestCaseForm.groupSmartFilter() class Meta: model = TestCaseModel fields = ('name', 'TestcaseNummer', 'project','groups', 'description' , 'url' ) admin.py class TestCaseAdmin(CompareVersionAdmin): form = TestCaseForm filter_horizontal = ('groups',)