Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
how to export current/ particular searched/sorted/filtered into excel in django?
i created a Django table applied necessary filter now i want to export the table following is my code- def export_users_xls(request): response = HttpResponse(content_type='application/ms-excel') response['Content-Disposition'] = 'attachment; filename="alist.xls"' wb = xlwt.Workbook(encoding='utf-8') ws = wb.add_sheet('A') # this will make a sheet named Users Data # Sheet header, first row row_num = 3 font_style = xlwt.XFStyle() font_style.font.bold = True columns=['__all__'] for col_num in range(len(columns)): ws.write(row_num, col_num, columns[col_num], font_style) # at 0 row 0 column # Sheet body, remaining rows font_style = xlwt.XFStyle() x=A.aid str(x) rows = A.objects.filter(user=request.user,).values_list() for row in rows: row_num += 1 for col_num in range(len(row)): ws.write(row_num, col_num, row[col_num], font_style) wb.save(response) return response i am facing a few issues - i am unable to download because its giving error- Unexpected data type <class 'uuid.UUID'> this is happening because my id field is- id=models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) then i tried creating x as string or exclude the id but rows = A.objects.filter(user=request.user,).exclude('id').values_list() but it showed many attributes lets say i have 10 rows in my table- i filtered and got 6 rows can i download as excel only those 6 rows or whatever is appearing on my screen. shall i alter or use the same code kindly help ! -
pass variable from ajax to external javascript from within django template
As i have a long (~20") job when users press submit, I manage to show the a loading gif while the process is running in the background as follow: within the django HTML template I put this piece of code: <script type="text/javascript"> $.ajax({ url: "{% url 'execute_request' %}", type: 'GET', data:{{data|safe}}, dataType: 'json', success: function(data){ var data1 = data.data1; var data2 = data.data2; $('.loading').hide();//hide the loading gif $('#showResult').show();//show the div with the result }, error: function(xhr){ alert(xhr.responseText); } }); </script> the ajax call to the view function within the view.py work perfectly and I got the data generated. this data needs to be passed to an external javascript file where it will generate svg graphs shown in the div mentioned above with id "showResult". I call the javascript as follow from the same html template: <script src="{% static 'resources/js/visualize_data.js' %}"></script> how can i pass the two variable data1 and data2 to the javascript visualize_data.js? Thanks you for your help -
Two 'POST' in Django REST framework, one HTTP 401
I have thwo POST in my Django Rest App: addRestaurant() { this.storeState.pictures = [] let endpoint = `/api/restaurant/`; let method = "POST"; let config = { maps: this.$route.params.maps, adress: this.$route.params.adress, name: this.$route.params.name }; apiService(endpoint, method, config) .then(data => { console.log("Restaurant added!" + data); this.addReview(); }) .catch(err => console.log(err)); }, addReview() { let endpoint = `/api/restaurant_review/`; let method = "POST"; let config = { maps: this.$route.params.maps, review_author: 1 } apiService(endpoint, method, config) .then(res => { this.review_id = res.id; }); }, So after addRestaurant() is done, addReview() is triggered. My issue is that the first API call is successful but I get an error for the second one like "Authentication information were not provided". I've changed my authentication to token authentication and since I've implemented this, I have this issue. Here is the apiService I use: let token = window.localStorage.getItem("user-token") function apiService(endpoint, method, data) { const config = { method: method || "GET", body: data !== undefined ? JSON.stringify(data) : null, headers: { 'content-type': 'application/json', 'X-CSRFTOKEN': token, }, } return fetch(endpoint, config) .then(handleResponse) .catch(error => console.log(error)) } export { apiService }; I know it's working because I use it in other functions that are working perfectly fine. Here is a screenshot of … -
Django annotate and aggregate with division
I have the following code: result = Training.current\ .annotate(per_training=ExpressionWrapper((Count('trainingregistration') / F('capacity')) * 100, output_field=FloatField()))\ .aggregate(Avg('per_training')) result = round(result['per_training__avg'], 2) print(f'Average occupancy per training: {result}') I have verified that the current model manager works on other aggregations. I want to calculate the average capacity per training by dividing the number of registrations (which have a ForeignKey to Training) by the training capacity, but this value always comes out to 0.00 and thus gets averaged to 0.00. What am I doing wrong here? -
Not able to send email overriding create method django rest framework
I got to know that we can override create method in order to send email but it's not working with my code. views.py: class FileUploadView(APIView): parser_class = (MultiPartParser,) def post(self, request, *args, **kwargs): file_serializer = FileSerializer(data=request.data) if file_serializer.is_valid(): file_serializer.save() return Response(file_serializer.data, status=status.HTTP_201_CREATED) else: return Response(file_serializer.errors, status=status.HTTP_400_BAD_REQUEST) def create(self, request, *args, **kwargs): response = super(FileUploadView, self).create(request, *args, **kwargs) send_email() # sending mail return response def send_email(request): email = EmailMessage( 'Title', (FileSerializer.Fullname, FileSerializer.Email, FileSerializer.Contact), 'mymail@gmail.com', ['anothermail@gmail.com'] ) email.attach_file(FileSerializer.Upload) email.send() Help me in figuring out what's the problem here -
Unable to affect other objects in ListView aside from the first one, in Django
I am trying to create an upvote system in my Django site using ajax so it would not refresh when users click the upvote button. In my site's main page with the listview of all the posts, I am able to get the ajax and the upvote request to work, but only for the top post. No matter if I click on an upvote button from another post, it would only register the effect on the top post. Where did I go wrong? Below is my code. models.py User = settings.AUTH_USER_MODEL #this is the user model class Post(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) #many to one relationship where many posts can be tied to one user content = models.TextField(blank=True, null=True) date_posted = models.DateTimeField(default=timezone.now) image = models.ImageField(upload_to='trade_images', blank=True, null=True) upvotes = models.ManyToManyField(User, blank=True, related_name='upvotes') total_upvotes = models.IntegerField(default='0') def get_absolute_url(self): return reverse('main:post-detail', kwargs={'pk': self.pk}) #returns the url for individual posts def __str__(self): return self.content class Upvote(models.Model): user = models.ForeignKey(User, related_name='upvoted_user', on_delete=models.CASCADE) post = models.ForeignKey(Post, related_name='upvoted_post', on_delete=models.CASCADE) def __str__(self): return str(self.user) + ':' + str(self.post) views.py # list of all posts class post_list_view(ListView): model = Post template_name = 'main/home.html' context_object_name = 'posts' # this is called from the html as 'for post in posts' … -
Django - 404 page handler template cannot load css when settings.DEBUG is set to False
I created a 404 page handler template and I want to add styles to it, but when I try to load the css file when settings.Debug is False, it logs this to the chrome console: Refused to apply style from 'http://localhost:8000/static/errors/404.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled. But when settings.Debug is True, it loads the css file without logging any errors 🤔 Setup: If debug is set to true, the errors/404 route will display the 404 page. If debug is set to false, django will use the errors.handlers.handle404 handler to handle 404 errors. I'm telling django to use the handler in this file. I did this because django does not display the 404 page when debug is set to True, it loads the debug page with information on why the error happened Project folder: errors = Name of the app root = Name of the project Working Directory -- root ---- manage.py ---- root --------- __init__.py --------- asgi.py --------- settings.py --------- urls.py --------- wsgi.py ---- errors --------- migrations -------------- __init__.py --------- static -------------- errors ------------------- 404.css --------- templates -------------- errors ------------------- 404.html --------- __init__.py --------- apps.py --------- handlers.py … -
How to get the Foreign Key set on the URL and use it on django CreateView
Thanks for your time... If someone can help me to get the foreign key that shows on the URL and use it on Django CreateView. I am trying to create a simple app to organize legislation. For this, I have this relation on my database: Categoria has many Series and Series has many posts. I have made the one path of urls.py like this (...) path('nova-serie/<categoria>', NovaSerie.as_view(), name='nova_serie'), (...) I just want to pass get the value from the URL and save as the foreign key without the user have to type it again. view.py class NovaCategoria(CreateView): model = Categoria form_class = CategoriaForm template_name = 'nova_categoria.html' success_url = reverse_lazy('home') class NovaSerie(CreateView): model = Serie form_class = SerieForm template_name = 'nova_serie.html' success_url = reverse_lazy('home') models.py class Categoria(models.Model): categoria = models.CharField( max_length=200, verbose_name="Nome da categoria", help_text="colocar aqui o texto de ajuda") class Meta: verbose_name_plural = "Categorias" verbose_name = "categoria" def __str__(self): return self.categoria class Serie(models.Model): serie = models.CharField( max_length=200, verbose_name="Série", help_text="colocar aqui o texto de ajuda") categoria = models.ForeignKey(Categoria, default=1, on_delete=models.SET_DEFAULT) class Meta: verbose_name_plural = "serie" def __str__(self): return self.serie forms.py class SerieForm(forms.ModelForm): class Meta: model = Serie fields = ( 'serie', 'categoria', ) widgets = { 'title': forms.TextInput(), # attrs={class="title"} 'categoria': … -
React Js expression expected ts(1109)?
So basically I'm new to react js and im following a tutorial and i keep getting this error of "Expression expected. ts(1109)". Here is my code import React from 'react'; import { Layout, Menu, Breadcrumb } from 'antd'; const { Header, Content, Footer } = Layout; const CustomLayout = (props) => { return( <Layout className="layout"> <Header> <div className="logo" /> <Menu theme="dark" mode="horizontal" defaultSelectedKeys={['2']}> <Menu.Item key="1">nav 1</Menu.Item> <Menu.Item key="2">nav 2</Menu.Item> <Menu.Item key="3">nav 3</Menu.Item> </Menu> </Header> <Content style={{ padding: '0 50px' }}> <Breadcrumb style={{ margin: '16px 0' }}> <Breadcrumb.Item>Home</Breadcrumb.Item> <Breadcrumb.Item>List</Breadcrumb.Item> <Breadcrumb.Item>App</Breadcrumb.Item> </Breadcrumb> <div className="site-layout-content"> {props.children} </div> </Content> <Footer style={{ textAlign: 'center' }}> Ant Design ©2018 Created by Ant UED </Footer> </Layout>, mountNode, ); (error occurs here on the ");" ) } export default CustomLayout; How can i fix this its been happening every time. I'm working in vs code if that helps but the same error occurred in Sublime text as well -
Changing language name and code Django LANGUAGES
I have overrode the LANGUAGES list in my settings.py as follows: LANGUAGES = [ ('en-us', _('American English')), ('en-gb', _('British English')), ] However, when I render the language switcher I found in Django's documentation (scroll down a little to see it at https://docs.djangoproject.com/en/3.1/topics/i18n/translation/#the-set-language-redirect-view) the options of its select menu still are: English (en) British English (en-gb) Why is en-us being substituted with en, and American English being substituted with English? In the form in the link above the option tag for the select menu is as follows: <option value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected{% endif %}> {{ language.name_local }} ({{ language.code }}) </option> Should I change language.name_local and language.code to something different? -
Django ORM - MAx subqueryin filter
I am using postgres in combination with a django orm. Models: class Review(models.Model): STATUS_PENDING = 1 STATUS_DECLINED = 2 STATUS_CONFIRMED = 3 STATUS_CHOICES = ( (STATUS_PENDING, 'pending'), (STATUS_ACCEPTED, 'accepted'), (STATUS_DECLINED, 'declined'), ) doc = models.ForeignKey(Document, null=False, related_name="documents", on_delete=models.CASCADE) note = models.CharField(max_length=255, blank=True, null=True) status = models.PositiveSmallIntegerField(default=STATUS_PENDING, choices=STATUS_CHOICES) revision = models.PositiveIntegerField(default=1) class Document(models.Model): name = models.CharField(max_length=255, blank=False, null=False) # ... Sample Data, Document Table ID, Name 1, Doc1 2, Doc2 Review Table ID, document_id, status, revision, note 1, 1, 1, 1, null 2, 1, 1, 2, null 3, 1, 2, 3, "hello" 4, 2, 2, 1, "world" I want to write ORM query which will return review with max revision where note is not null. Raw sql query looks like this: select rs.* from reviews rs where rs.note is not null AND rs.revision = (select max(revision) FROM reviews where document_id = rs.id) I am not sure how to write similar query with django ORM. -
Apache + Python3.5 env + lxml + Interpreter Error
I'm using python3-saml library. With an Installation with APACHE + UWSGI + MYSOFTWARE it works fine. In an Installation with APACHE + WSGI + MYSOFTWARE I got this error: File ".../onelogin/saml2/auth.py", line 15, in <module> from defusedxml.lxml import tostring File ".../lib/python3.5/site-packages/defusedxml/lxml.py", line 15, in <module> from lxml import etree as _etree ImportError: Interpreter change detected - this module can only be loaded into one interpreter per process. Apache configuration is pretty standard: <Directory /usr/local/my-env/mysoftware> Require all granted </Directory> WSGIScriptAlias /mysoftware /usr/local/my-env/mysoftware/conf/wsgi.py process-group=mysoftware-wsgi-daemon WSGIScriptAlias / /usr/local/my-env/mysoftware/conf/wsgi.py process-group=mysoftware-wsgi-daemon WSGIDaemonProcess mysoftware-wsgi-daemon processes=2 threads=15 display-name=mysoftware-wsgi python-path=/usr/local/my-env/mysoftware:/usr/local/my-env/lib/python3.5/site-packages WSGIProcessGroup mysoftware-wsgi-daemon Thanks you for any advice -
How to make tinyMCE output text responsive
I am using a Django back-end, with a tinyMCE editor in the admin panel, where I can make edits that are displayed on the front page. My problem is that outputted text is not responsive, and even if it is readable on Desktop, it is to small on mobile, and I cannot make it readable on mobile unless I make it to large or Desktop. I was wondering if there is a way to eider make the output text responsive, either through settings, template language, or with javascript, or if it is possible to add a separate font size for smaller screens? my tinyMCE setting: TINYMCE_DEFAULT_CONFIG = { 'height': 360, 'width': 1120, 'cleanup_on_startup': True, 'custom_undo_redo_levels': 20, 'selector': 'textarea', 'theme': 'modern', 'plugins': ''' textcolor save link image media preview codesample contextmenu table code lists fullscreen insertdatetime nonbreaking contextmenu directionality searchreplace wordcount visualblocks visualchars code fullscreen autolink lists charmap print hr anchor pagebreak ''', 'toolbar1': ''' fullscreen preview bold italic underline | fontselect, fontsizeselect | forecolor backcolor | alignleft alignright | aligncenter alignjustify | indent outdent | bullist numlist table | | link image media | codesample | ''', 'toolbar2': ''' visualblocks visualchars | charmap hr pagebreak nonbreaking anchor | code | … -
502 Error while downloading a huge zip file containing multiple images in it
So,I want the user to be able to click a button and download a zip file containing a bunch of images. A view gets called upon clicking the button, which fetches the images from an SFTP server using pysftp module and creates a zip file and sends a response to the user for download. Now this thing works absolutely fine in most of the cases but in some cases the server throws a 502 proxy error which is because the images are either large in size (This is a hunch) or in number. I assume this is a timeout kinda thing where its taking a lot of time for view to process things. It would be really helpful if anyone could suggest a solution for this. I dont want "502 proxy error" to come in any case. def download_images(request): if request.GET.get('profile_id') and request.GET.get('mattersheet_id'): profile_id = request.GET.get('profile_id') mattersheet_id = request.GET.get('mattersheet_id') cnopts = pysftp.CnOpts() cnopts.hostkeys = None sftp = pysftp.Connection(host=Conf.IMG_SERV_IP, username='blabla',cnopts=cnopts) file_dir = f'''{Conf.DIR_CATALOG_PRODUCT_PATH}/{profile_id}/{mattersheet_id}/products/''' # import pdb; pdb.set_trace() response = HttpResponse(content_type="application/force-download") zip_file = ZipFile(response, 'w') products = products = MatterSheetProducts.objects.filter(matter_sheet_id=mattersheet_id).values('product_code','product_name','product_id','product_category_name').distinct('product_category_name','product_name') import time a = time.time() for product in products: try: if sftp.exists(f"{file_dir}{product.get('product_id')}.jpg"): fh = sftp.open(f"{file_dir}{product.get('product_id')}.jpg",'rb') category_name = product.get('product_category_name') if product.get('product_category_name') else '' … -
How to launch a script based on date/time field
I have set up MariaDB for the backend database for Ptyhon Django project. As it is in the initial POC stage, I will change the database also if you suggest anything. There is a table where the user data will be stored for all the entries the users create. And the table contains a data/time field. I want to trigger email when the date/time field value is equal to current time. Like, if the record1 is having value of tomorrow's 12:31 PM then immediately the email should be triggered to the email ID of the user. The email sending part we can take care but how to trigger the event when the datetime field value is equal to the current date/time. One option is to continuously run a background job to check the date/time value but that is not feasible as 1000s of records will be there. Please suggest, I am a newbie to the Python web projects. -
Django reading json and fetching data to bulk create with optimized approach and minimum resources
Basically i was wondering if i could somehow use a single for loop to achieve a task I am new to python and i am learning about the efficient ways to achieve stuff This is the current scenario json = { items: [ {'uuid': 'some uuid', 'quantity': 2}, {'uuid': 'some uuid', 'quantity': 3}, {'uuid': 'some uuid', 'quantity': 4}] } I am receiving this json and have to make a query to fetch each of these items based on the provided uuid. After fetching these items i have to create their entry in another model which is related to this model. My approach is to separate the uuids and quantity into two separate lists through a for loop for item in json: item_uuids.append(item['uuid']) item_quantities.append(item['quantity']) Fetch item objects q = Q() [q.add(Q(uuid=uuid), Q.OR) for uuid in item_uuids] items = model.objects.filter(q) Then do a list comprehension item_objs = [] [item_objs.append(model(uuid=uuid, quantity=quantity)) for uuid, quantity in zip(items, item_quantities)] Then after all of this I make the final query model.objects.bulk_create(items) Is there any efficient way to achieve this, as it constantly disturbs me i might be following the wrong approach here. Any help would be really appreciated. Thanks in advance -
heroku run python manage.py migrate do not create table on heroku server
heroku run manage.py migrate Running python manage.py migrate on ⬢ bdsharma... up, run.9363 (Free) Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions, shastri Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying auth.0010_alter_group_name_max_length... OK Applying auth.0011_update_proxy_permissions... OK Applying auth.0012_alter_user_first_name_max_length... OK Applying sessions.0001_initial... OK Applying shastri.0001_initial... OK but these migrations are not applied in reality. It gives operational error while i run this on server. OperationalError at / no such table: shastri_occasion Request Method: GET Request URL: https://bdsharma.herokuapp.com/ Django Version: 3.1.1 Exception Type: OperationalError Exception Value: no such table: shastri_occasion Exception Location: /app/.heroku/python/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py, line 413, in execute Python Executable: /app/.heroku/python/bin/python Python Version: 3.6.12 Python Path: ['/app/.heroku/python/bin', '/app', '/app/.heroku/python/lib/python36.zip', '/app/.heroku/python/lib/python3.6', '/app/.heroku/python/lib/python3.6/lib-dynload', '/app/.heroku/python/lib/python3.6/site-packages'] Server time: Thu, 10 Sep 2020 08:19:26 +0000 I have run migrate command many time on both heroku and local server but its not working. -
Django - CheckboxSelectMultiple with horizontal options
By default, the CheckboxSelectMultiple widget is rendering in a vertical list. How can I make it to a horizontal checklists? Minimal verifiable example In [8]: from django import forms In [9]: HTTP_METHODS = ["GET", "POST", "PUT", "PATCH", "DELETE"] In [10]: widget = forms.CheckboxSelectMultiple(choices=zip(HTTP_METHODS, HTTP_METHODS)) In [11]: print(widget.render('GET', 'GET')) Rendered Output <ul> <li><label><input type="checkbox" name="GET" value="GET" checked> GET</label> </li> <li><label><input type="checkbox" name="GET" value="POST"> POST</label> </li> <li><label><input type="checkbox" name="GET" value="PUT"> PUT</label> </li> <li><label><input type="checkbox" name="GET" value="PATCH"> PATCH</label> </li> <li><label><input type="checkbox" name="GET" value="DELETE"> DELETE</label> </li> </ul> -
Django admin custom descending and ascending field
I am using Django Admin to visualize and edit data of my Model. One of the model's field is date and unfortunately is a CharField but with a validator ( dd.mm.yyyy ). I am trying to figure out of a solution to sort those dates in the correct way when the admin press on the sort button that is default from django. In my experience with Java it was all about overwriting the compare function of the class. data_de_montat = models.CharField(help_text="eg: 02.07.2020 or 12.9.2021", max_length=15, validators=[ RegexValidator(r'^[0-9]{1,2}.[0-9]{1,2}.[0-9]{4}$', message='It should be dd.ll.aaaa', code='wrong format' )]) -
Queries And Multiple Categories models dropdown menu filtering in django template
I want my filter in dropdown menu to get back a query from 2 models(category[video,photo]) and occasion[wedding,engagement,baptism,etc..) here is my code: models.py class Category(models.Model): class Meta: verbose_name_plural = "Categories" name = models.CharField(max_length=254) friendly_name = models.CharField(max_length=254, null=True, blank=True) def __str__(self): return self.name def get_friendly_name(self): return self.friendly_name class Occasion(models.Model): name = models.CharField(max_length=254) friendly_name = models.CharField(max_length=254, null=True, blank=True) def __str__(self): return self.name def get_friendly_name(self): return self.friendly_name class Package(models.Model): name = models.CharField(max_length=254) friendly_name = models.CharField(max_length=254, null=True, blank=True) def __str__(self): return self.name def get_friendly_name(self): return self.friendly_name class Product(models.Model): category = models.ForeignKey('Category', null=True, blank=True, on_delete=models.SET_NULL) occasion = models.ForeignKey('Occasion', null=True, blank=True, on_delete=models.SET_NULL) package = models.ForeignKey('Package', null=True, blank=True, on_delete=models.SET_NULL) long_description = models.TextField() short_description = models.TextField() things_include = models.TextField() price = models.DecimalField(max_digits=6, decimal_places=2) rating = models.DecimalField(max_digits=6, decimal_places=2, null=True, blank=True) image_url = models.URLField(max_length=1024, null=True, blank=True) image = models.ImageField(null=True, blank=True) def __str__(self): return self.category.name + " - " + self.occasion.name def thingsInclude_as_list(self): return self.things_include.split(',') def get_name_categoryOccasion(self): return self.category.name + " " + self.occasion.name views.py here in view I have get query for all models from database def all_products(request): """ A view to show all products, including sorting and search queries """ products = Product.objects.all() query = None categories = None occasions = None if request.GET: if 'category' in request.GET: categories = … -
TemplateDoesNotExist at /travello
I have got an error. How can solve this problem. When I was browsing: http://127.0.0.1:8000/travello Got an Error: TemplateDoesNotExist at /travello index.html Request Method: GET Request URL: http://127.0.0.1:8000/travello Django Version: 3.1.1 Exception Type: TemplateDoesNotExist Exception Value: index.html Exception Location: C:\Users\musat\Envs\myenv\lib\site-packages\django\template\loader.py, line 19, in get_template Python Executable: C:\Users\musat\Envs\myenv\Scripts\python.exe Python Version: 3.8.5 Python Path: ['C:\Users\musat\projects\telusko', 'C:\Program Files\Hexagon\ERDAS IMAGINE ' '2015\usr\lib\Win32Release\python', 'C:\Users\musat\Envs\myenv\Scripts\python38.zip', 'c:\users\musat\appdata\local\programs\python\python38\DLLs', 'c:\users\musat\appdata\local\programs\python\python38\lib', 'c:\users\musat\appdata\local\programs\python\python38', 'C:\Users\musat\Envs\myenv', 'C:\Users\musat\Envs\myenv\lib\site-packages'] Server time: Tue, 08 Sep 2020 04:57:26 +0000 -
Reverse for 'show_message' with arguments '('',)' not found. 1 pattern(s) tried: ['messages/<slug:the_sender>/$']
I believe the issue lies with slugs. I am not sure what's happening though. Urls.py: path('messages/', ShowMessageView.as_view(), name='message list'), path('messages/<slug:the_sender>/$', post_detail_view, name='show_message'),] Views.py: class ShowMessageView(ListView): template_name="messages.html" model= SendMessageModel class ShowDetailView(DetailView): model= SendMessageModel slug_field = 'sender' slug_url_kwarg = 'the_sender' template_name="detailmessage.html" post_detail_view = ShowDetailView.as_view() messages.html: {% for message in object_list %} {% if message.recipient == request.session.username %} <h5>{{message.datesent|date:'Y-m-d'}}<a href= "{% url 'show_messages' message.the_sender %}"> {{message.sender}}</h5> {% endif %} {% endfor %} I am a beginner in Django so I am not really sure how most of the stuff works. Any help would be appreciated. -
ReadTimeout with django and asgi
I'm tring with some async feature with Django3.1 async # urls.py from django.contrib import admin from django.urls import path from . import views urlpatterns = [ path('api/', views.api), path('api/aggregated/', views.api_aggregated), path('api/aggregated_sync/', views.api_aggregated_sync), ] # views.py import time import httpx import asyncio from django.http import JsonResponse from django.urls import path async def api(request): await asyncio.sleep(1) payload = {"message": "Hello World"} if "task_id" in request.GET: payload["task_id"] = request.GET["task_id"] return JsonResponse(payload) def get_api_urls(num=10): base_url = "http://127.0.0.1:9006/api/" return [ f"{base_url}?task_id={task_id}" for task_id in range(num) ] async def api_aggregated(request): s = time.perf_counter() responses = [] urls = get_api_urls(num=10) async with httpx.AsyncClient() as client: responses = await asyncio.gather(*[ client.get(url) for url in urls ]) responses = [r.json() for r in responses] elapsed = time.perf_counter() - s result = { "message": "Hello Async World", "responses": responses, "debug_message": f"fecth executed in {elapsed:0.2f} seconds.", } return JsonResponse(result) def api_aggregated_sync(request): s = time.perf_counter() responses = [] urls = get_api_urls(num=10) for url in urls: r = httpx.get(url) responses.append(r.json()) elapsed = time.perf_counter() - s result = { "message": "Hello Sync World!", "aggregated_responses": responses, "debug_message": f"fetch executed in {elapsed:0.2f} seconds.", } return JsonResponse(result) I tried wiht asgi server uvicorn and start with command: uvicorn --workers 10 --reload myproject.asgi:application --port 9006 But when I … -
How to create a dependent dropdown (as subcategory)
I want to have a dropdown menu which shows all item from a choice list. The picture below shows all my items from 'Category' which is hardcoded. How can I iterate through my choice field and fill their values into my dropdown menu? But more importantly is that I want that my dropdown menu for 'Product' should only show the choices related to my selection for 'Category'. I think its too complicated to create for all of them each a class. I want to do it by an if else like: If (get.Category).is Selected then iterate: for item in 'products' present as option. Im new in coding so I am not sure where to put my variables. my filter_list.html <div class="form-group col-md-4"> <label for="inputState">Product</label> <select id="inputState2" name="item" class="form-control"> <option selected>Choose...</option> {% for item in transactionSubCategory %} <option value="{{item.value}}">{{item.title}}</option> {% endfor %} <option value="banana">banana</option> <option value="orange">orange</option> <option value="strawberry">strawberry</option> </select> </div> my models.py class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField(default='SOME STRING') date_posted = models.DateTimeField(default=timezone.now) author = models.ForeignKey(User, on_delete=models.CASCADE, default=1) post = models.CharField(max_length=100, default='SOME STRING') category_choices = ( ('fruits', 'Fruits'), ('nuts', 'Nuts'), ('tea', 'Tea'), ('oil', 'Oil'), ('flowers', 'Flowers'), ('veggies', 'Veggies'), ('honey', 'Honey'), ('legumes', 'Legumes'), ('wheat', 'Wheat'), ('mushroom', 'Mushroom'), ) fruit_choices= ( ('apple', … -
No module "myapp" error in django while i try to run the server [closed]
enter image description here Iam new to django I tried everything to resolve this error please help me!