Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Django - After submit button in Template with only one field of model the others got null
What I want to do is update in a popup template, only the comments field and show not all the fields ion model, but when I submit the form, the field that are not in the template are getting null in DB. I am using the UpdateView, am I correct using this or is better doing it in another way, I am open to suggestions. This fields are getting Null: idSupervisor_cotas idSupervisor_juntas fecha_sup_cotas fecha_sup_juntas Model: class Pieza(ClaseModelo): reporte = models.ForeignKey(Reporte, on_delete=models.CASCADE) noPieza = models.PositiveIntegerField() descripcion = models.CharField( max_length=100, help_text="Descripcion de la Pieza", unique=False ) comentarios = models.CharField( max_length=255, help_text="Comentarios de la Pieza", blank=True, null=True, unique=False ) idSupervisor_cotas = models.ForeignKey( Supervisor, on_delete=models.CASCADE, blank=True, null=True, related_name='sup_cotas' ) fecha_sup_cotas = models.DateTimeField(blank=True, null=True) idSupervisor_juntas = models.ForeignKey( Supervisor, on_delete=models.CASCADE, blank=True, null=True, related_name='sup_juntas') fecha_sup_juntas = models.DateTimeField(blank=True, null=True) noCotas = models.IntegerField(null=True, blank=True) noJuntas = models.IntegerField(null=True, blank=True) def __str__(self): return '{}:[{}]({})'.format(self.reporte.numeroReporte, self.noPieza, self.descripcion) def save(self, **kwargs): if not self.noPieza: noPieza = cal_key(self.reporte, 1) self.noPieza = noPieza+1 self.descripcion = self.descripcion.upper() super(Pieza, self).save() class Meta: verbose_name_plural="Piezas" unique_together = ("noPieza", "reporte") form: class PiezaForm(forms.ModelForm): # MOstramos solo los reportes que no esten Terminados. reporte = forms.ModelChoiceField( queryset=Reporte.objects.filter(state=False) ) #fecha_sup_juntas = forms.DateTimeField(input_formats=['%d/%m/%Y %H:%M']) class Meta: model= Pieza fields = ['reporte', 'descripcion', 'comentarios', … -
Best way to make a instance of mongodb client in pymongo
So, first of all, I want to use django, django rest framework, mongoengine and pymongo together. Mongoengine for ODM, Pymongo for interact with the db and DRF for a restful API. The problem is the following: from pymongo import MongoClient from bson.json_util import dumps class MongoConnector: username = 'user' password = 'pass' host = 'localhost' port = '27017' url = host + ':' + port client = MongoClient(mongo_url,username=username,password=password,authSource='admin',authMechanism='SCRAM-SHA-256') def find(self,db, collection, name): db = client[db] collection = db[collection] response = collection.find_one({"name":str(name)}) return dumps(response) I got it from: https://stackoverflow.com/a/55638199/11449132 The point with this piece of code is that I can put it into some file of my project and then, import the class to my API endpoints and do the db interaction, like creating instance of the MongoClient. It looks easy to work with, but my questions are: ¿Is it safe? ¿Does it have some problem with uwsgi or something related to production? like the threads, multiprocessing or something, I mean, I've read some documents and questions about but is not clear it all, for example: https://api.mongodb.com/python/current/faq.html?highlight=wsgi#using-pymongo-with-multiprocessing I know pymongo doesn't work with fork, but I'm not sure if it is important in this escenario. Thanks if someone can help me … -
Does 'list_editable' work with FileField in the django admin?
I'm trying to find a way to rename my uploaded files in the django admin using list_editable. I tried it, but it doesn't seem to be working, since it only shows a 'Save' button below, but nowhere where I can edit my files names. Is this even possible or does it not work with FileFields? I looked it up on forums but nothing to help my case. Thanks in advance! -
My django keep looping the code when runserver
Sorry if the question is really newbie, just learn programming i put this in my models.py from django.db import models from . import func class Materials(models.Model): typeId = models.IntegerField() typeName = models.CharField(max_length=250) price = models.FloatField() updated = models.DateTimeField(auto_now=True) class Meta: ordering = ('-typeId') def __str__(Self): return self.typeId def insert_data_once(): rows = func.material_id() for row in rows: data = Materials(typeId = row[0], typeName = row[1], price = func.sell_min(row[0])) data.save() insert_data_once() here is func.py import requests from xml.etree import ElementTree import sqlite3 def material_id(): conn = sqlite3.connect('eve.db') command = 'SELECT DISTINCT invTypeMaterials.materialTypeID, invTypes.typeName FROM invTypeMaterials ' \ 'INNER JOIN invTypes ON invTypeMaterials.materialTypeID = invTypes.typeID ' \ 'WHERE invTypes.Published = 1' result = conn.execute(command) rows = result.fetchall() return rows def sell_min(type_id): URL = 'https://api.evemarketer.com/ec/marketstat?typeid=' + str( type_id) + '&regionlimit=10000002&usesystem=30000142' minerals_price = requests.get(URL) root = ElementTree.fromstring(minerals_price.content) for child in root[0][0][1].iter('min'): sell_min = child.text return float(sell_min) where i should run the insert_data_once function in models.py, the fuction keep looping and cant run manage.py runserver thank you -
Files not uploaded in Django form - encoding type incorrect
We use Django with Crispy forms in our websites. I have a form rendered by {% crispy form %}. Here is the code of the form: class ProfileForm(AddAttributesToFieldsMixin, CleanDateOfBirthMixin, LocalizedFirstLastNameMixin, forms.ModelForm): profile_picture = forms.ImageField(required=False, widget=CustomPhotoWidget, label=_('Update your profile picture'), error_messages={'required': _("A profile picture is required.")}) class Meta: model = User fields = ('slug', 'gender', 'date_of_birth', 'profile_picture') The form uses CustomPhotoWidget which is defined like this: class CustomPhotoWidget(forms.widgets.Widget): def render(self, name, value, attrs=None, renderer=None): return render_to_string(template_name='accounts/edit_profile/widgets/photo_widget.html', context={ 'name': name, 'user_photo': self.attrs['user'].photo, }) But the problem is, when I upload a file from my browser, I receive an error message "No file was submitted. Check the encoding type on the form." and the file is not saved. The encoding type of the form is incorrect. How do I change the encoding type with Crispy forms? -
Django MoneyField: Invalid value for MoneyField
I'm having slight of a problem while using MoneyField in Django. I have 2 models: Work and Price. And Price gets Work id as a Foreign Key. In Postman I'm trying to post a Work with a Price, but I keep getting an error. Here is my work_model: from django.db import models from django.contrib.auth import get_user_model User = get_user_model() class Work(models.Model): user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL) name = models.CharField(max_length=200) length = models.IntegerField(null=True) width = models.IntegerField(null=True) def __str__(self): return "{}".format(self.name) And here my price_model from django.db import models from .model_work import * from djmoney.models.fields import MoneyField class Price(models.Model): work = models.OneToOneField(Work, on_delete=models.CASCADE, related_name='price') price = MoneyField(max_digits=19, decimal_places=4, default_currency='USD', null=True) shipping = models.IntegerField(null=True) total = models.IntegerField(null=True) def __str__(self): return "{}".format(self.price) When I'm posting a Work in Postman: { "user":"2", "name":"work 20", "price": [ { "price":20, "price_currency":"USD", "shipping":12, "total":32 } ], "length":"50", "width":"60" } I keep getting this error: ValidationError at /works/ ["Invalid value for MoneyField: [OrderedDict([('price', <Money: 20.0000 USD>), ('shipping', 12), ('total', 32)])]."] I've looked everywhere but can't manage to understand my error, does anyone have a clue? Thanks for your responses! -
form for formset object has no attribute 'cleaned deta'
i have genericview which handle 3 difference form(2 formsets), when i try check cleaned_data, i have error, but when i try make the same by debugger i didnt see anything problem, who may know why i can`t make it? My View : class CompanyCreateView(LoginRequiredMixin, CreateView): model = Company template_name = 'main/company/create_page.html' form_class = CompanyCreateForm def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['page'] = Page.objects.active().filter(slug='add_company').first() if self.request.POST: context['images'] = ImageGalleryFormSet(self.request.POST, self.request.FILES) context['company_locations'] = CompanyLocationFormset(self.request.POST) else: context['images'] = ImageGalleryFormSet(self.request.GET or None) context['company_locations'] = CompanyLocationFormset(self.request.GET or None) return context @transaction.atomic def form_valid(self, form): context = self.get_context_data() images = context['images'] company_locations = context['company_locations'] self.object = form.save() self.object.active = False self.object.status = CompanyConstants.CompanyStatus.NEW self.object.owner = self.request.user self.object.save() for image in range(len(images)): key_image = 'gallery_items-' + str(image) + '-image' form_image = self.request.FILES.get(key_image) if form_image: ImageGallery(image=form_image, company_id=int(self.object.id)).save() print(company_locations.forms[0].get_cleaned_data) for location in range(len(company_locations)): key_locations = 'form-' + str(location) + '-location' key_address = 'form-' + str(location) + '-address' if self.request.POST.get(key_locations): location = self.request.POST.get(key_locations) address = self.request.POST.get(key_address) company = self.object CompanyLocation.objects.create(location=clean_location(location), address=address, company=company) return super().form_valid(form) def get_success_url(self): return reverse('main:profile', args=[self.request.user.username]) when i try print this i have error, this code that i have works correc but, he is bad. MY FORM: class CompanyLocationForm(forms.ModelForm): location = geo_forms.PointField(widget=GooglePointFieldWidget) class Meta: model = CompanyLocation … -
Page not found (404) Request Method: GET Request URL: http://127.0.0.1:8000/catalog/
I got the follwoing error whenever I run the project and automatically catalog/ is added to the url: Page not found (404) Request Method: GET Request URL: http://127.0.0.1:8000/catalog/ Using the URLconf defined in first_project.urls, Django tried these URL patterns, in this order: [name='index'] admin/ first_app/ The current path, catalog/, didn't match any of these. You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page. Here is my project urls.py from django.contrib import admin from django.urls import path, include from first_app import views urlpatterns = [ path('', views.index, name='index'), path('admin/', admin.site.urls), path('first_app/', include('first_app.urls')), ] Here is first_app urls.py code: from django.urls import path from first_app import views urlpatterns = [ path('', views.index, name='index'), ] How to get the index page as a default and get rid of the catalog. -
Decorators for authentication using oauth in Django
I am trying to complete Oauth2 using a Decorator in Django. Until before I tried using decorator, I was doing it using this endpoint oauth (which works alright): Note: OSCAR_CALLBACK_URL is URL for oauth endpoint only def oauth(request): if not request.GET.get('oauth_verifier'): return oscar_oauth_init(request) else: res = oscar_oauth_accesstoken(request) return res def oscar_oauth_init(request): oauth = OAuth1(OSCAR_CLIENT_ID, client_secret=OSCAR_CLIENT_SECRET) url=OSCAR_INIT_URL+OSCAR_CALLBACK_URL r = requests.get(url=url, auth=oauth) credentials = convert(parse_qs(r.content)) resource_owner_key = str(credentials.get('oauth_token')[0]) resource_owner_secret = str(credentials.get('oauth_token_secret')[0]) verifier = oscar_oauth_auth(resource_owner_key) request.session['resource_owner_key'] = str(resource_owner_key) request.session['resource_owner_secret'] = str(resource_owner_secret) request.session['verifier'] = str(verifier) return verifier def oscar_oauth_accesstoken(request): verifier = request.GET.get('oauth_verifier') resource_owner_key = request.GET.get('oauth_token') resource_owner_secret = request.session.get('resource_owner_secret') oauth = OAuth1(OSCAR_CLIENT_ID, client_secret=OSCAR_CLIENT_SECRET, resource_owner_key=resource_owner_key, resource_owner_secret=resource_owner_secret, verifier=verifier) r = requests.get(url=OSCAR_TOKEN_URL+verifier, auth=oauth) credentials = convert(parse_qs(r.content)) resource_owner_key = credentials.get('oauth_token')[0] resource_owner_secret = credentials.get('oauth_token_secret')[0] request.session['resource_owner_key'] = str(resource_owner_key) request.session['resource_owner_secret'] = str(resource_owner_secret) return credentials This endpoint was required to be called before other API calls that needed user to be authorized. I am trying to refactor this using the following decorator now: def oscar_login(view_func): def _wrapped_view_func(request, *args, **kwargs): if not request.GET.get('oauth_verifier'): return oscar_oauth_init(request) else: return oscar_oauth_accesstoken(request) return view_func(request, *args, **kwargs) I am not sure how to complete the redirection bit using the decorator. I allowed redirection to the same endpoint oauth (shared above) but the flow stops at end of the endpoint … -
which framework is better for build an audio library site such as soundcloud?
I have a name_cheap regular hosting and I would like to build a web site for users who want to share audio files such as podcast and listening online and maybe using an mobile app, very similar to soundcloud, but I am not sure which is the best framework to do it. Django? Node.js? any other idea. Thanks in advance for help me out. -
Django form gets image data but not text
I have Django form that displays information about the property and the idea of this form is to allow users to amend information about their properties. When displaying the form only image data is displayed, everything else is blank. From if request.user.landlord_profile.landlord_id == project.landlord_id: is the code for the form. views.py def project_detail(request, pk): project = Properties.objects.get(pk=pk) applyButton = Property_Applications.objects.filter(listing=project) propertyReview = Property_Reviews.objects.filter(property=project) # getting the urls property_images = Property_Images.objects.filter(property=project) context = { 'project': project, 'propertyReview': propertyReview, 'property_images' : property_images, } if request.user.is_authenticated: if request.user.last_name == 'False': # allows to tenant to view ads and apply for them if they meet the requirements tenant_profile = Tenant_Profile.objects.get(tenant=request.user.tenant_profile.tenant_id) if request.method == "POST": applyButton = Property_Applications( user=request.user, listing=project,) applyButton.save() context['applyButton'] = applyButton context['tenant_profile']= tenant_profile if request.user.landlord_profile.landlord_id == project.landlord_id: # if the landlord owns this ad, this let's him edit the ad change_listing_form = CreatingListingForm(request.POST, request.FILES, instance=project) if request.method == 'POST': if change_listing_form.is_valid(): change_listing_form.landlord = request.user.landlord_profile change_listing_form.save() messages.success(request, f'Your account has been updated!') else: change_listing_form = CreatingListingForm() context['change_listing_form'] = change_listing_form return render(request, 'project_detail.html', context) project_detail.html - this is what displays the form {% elif request.user.landlord_profile.landlord_id == project.landlord_id%} <p></p> <div style="text-align: center"> <button class="open-button" onclick="openForm()">Manage your Spot</button> </div> <div class="form-popup" id="myForm"> <form class="form-container text-dark" method="POST" … -
How to exchange base docker images safely, when image is down?
I'm learning Docker. Right now I'm working on a Django app and I want to make a container. I'm on Windows 10. When I run docker-compose build, I get: $ docker-compose build Building movies Step 1/9 : FROM python:3.8.2-alpine 3.8.2-alpine: Pulling from library/python Service 'movies' failed to build: no matching manifest for windows/amd64 10.0.18363 in the manifest list entries As far as I've investigated, I'm getting that error because the image is down (because of a bug of docker?) a) https://github.com/nginxinc/docker-nginx/issues/230 b) https://github.com/docker-library/official-images/issues/3835 So what image can replace this one: FROM python:3.8.2-alpine??? I'm following this tutorial Test-Driven Development with Django, Django REST Framework, and Docker from https://testdriven.io/. Dockerfile: # pull official base image FROM python:3.8.2-alpine # set work directory RUN mkdir -p /usr/src/app WORKDIR /usr/src/app # set environment variables ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # install dependencies RUN pip install --upgrade pip COPY ./requirements.txt /usr/src/app/requirements.txt RUN pip install -r requirements.txt # copy project COPY . /usr/src/app/ -
How to receive Empty files in djnago views and save it even if the file is not uploaded as it is optional?
As my image option is optional , I want to save it even if the file is not uploaded as it is optional, but it is giving me error as it is not able to receive the image. How can I save it in the database even if that field is empty? #Model class Recommendations(models.Model): Name = models.CharField(max_length=100) Company = models.CharField(max_length=100, null=True) Designation = models.CharField(max_length=100, default='Null') Message = models.TextField(null=False) image = models.ImageField(upload_to='Recommender', default='default.png', blank=True) check = models.BooleanField(default=False) # Views Code to receive the data through a form def recommend(request): if request.method == 'POST': try: name = request.POST['name'] company = request.POST['company'] designation = request.POST['designation'] message = request.POST['message'] image = request.FILES['photo'] recom = Recommendations(Name=name,Company=company,Designation=designation, Message=message, image=image) recom.save() messages.success(request,'Recommendation Recieved') return redirect('/') except Exception as problem: print(problem) messages.error(request, problem) return redirect('/') -
How to mock out custom throttle class for testing in django-rest-framework?
I have a custom throttle class like: (print statements are for debugging :)) in api.throttle.py print("befor CustomThrottle class") class CustomThrottle(BaseThrottle): def __init__(self): super().__init__() print("initializing CustomThrottle", self) self._wait = 0 def allow_request(self, request, view): print("CustomThrottle.allow_request") if request.method in SAFE_METHODS: return True # some checking here if wait > 0: self._wait = wait return False return True def wait(self): return self._wait my api.views.py is like: from api.throttle import CustomThrottle print("views module") class SomeView(APIView): print("in view") throttle_classes = [CustomThrottle] def post(self, request, should_exist): # some processing return Response({"message": "Done."}) and my tests is api/tests/test_views.py: @patch.object(api.views.CustomThrottle, "allow_request") def test_can_get_confirmation_code_for_registered_user(self, throttle): throttle.return_value = True response = self.client.post(path, data=data) self.assertEqual( response.status_code, status.HTTP_200_OK, "Should be successful", ) @patch("api.views.PhoneConfirmationThrottle") def test_learn(self, throttle): throttle.return_value.allow_request.return_value = True response = self.client.post(path, data=data) self.assertEqual( response.status_code, status.HTTP_200_OK, "Should be successful", ) the first test passes correctly but still the CustomThrottle class is instantiated but the allow_request method is mocked; the second test shows that neither CustomThrottle class is mocked nor the allow_request method and it fails with status 429 (CustomThrottle has a throttle rate of 2 minutes). -
django: css files not loading in production with nginx
I have seen many similar posts but nothing has been able to make the trick for me. Browser throws me this kind of error for all my css files when i load my static. GET https://www.exostock.net/staticfiles/vendor/font-awesome/css/font-awesome.min.css net::ERR_ABORTED 404 (Not Found) and Home:136 GET https://www.exostock.net/staticfiles/img/logo8.png 404 (Not Found) from the information I read and the django + nginx documentations, I am not able to spot where I am making a mistake. I have been on it for a few days now and I hope that someone could see what I cannot. nginx/sites-available/app.conf server { server_name exostock.net www.exostock.net; location / { include proxy_params; proxy_pass http://unix:/home/ubuntu/exostocksaas/app.sock; } location /static/ { alias /home/ubuntu/exostocksaas/collected_static/; } location ~ \.css { add_header Content-Type text/css; } location ~ \.js { add_header Content-Type application/x-javascript; } } settings.py in django STATIC_URL = '/staticfiles/' # STATICFILES_FINDERS = ( # 'django.contrib.staticfiles.finders.FileSystemFinder', # ) STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'staticfiles') ] STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static') and my html links to statics <!-- Bootstrap CSS--> <link href="{% static 'vendor/bootstrap/css/bootstrap.min.css' %}"> <!-- Font Awesome CSS--> <link href="{% static 'vendor/font-awesome/css/font-awesome.min.css' %}"> <!-- Custom Font Icons CSS--> <link href="{% static 'css3/font.css' %}"> -
How do I allow users of Django to create their own personal blog?
I have created a Django site that allows users to post and comment on these posts. I thought it would be a good idea to allow each user to have their own "page" where they can allow invited members this page to basically use the blog feature that I've designed. The only thing I can't figure out is how to allow users to dynamically create a page that is specific to them. Can this be done with one template? -
django views: How to get the desired column name?
I would like to ask the same question again because my previous was not answered. Here is the link: How to get the desired column name? Thanks very much for the help. -
Why is Django using version 2.0.3 while I have 3.0.5 installed?
I have django installed in a virtual environment, everything works, however when you start a server it starts django 2 instead of 3. (venv) C:\Users\Patrick\PycharmProjects\OptionDetails.com>cd optiondetails (venv) C:\Users\Patrick\PycharmProjects\OptionDetails.com\OptionDetails>py manage.py runserver Performing system checks... System check identified no issues (0 silenced). April 30, 2020 - 18:53:56 Django version 2.0.3, using settings 'OptionDetails.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. (venv) C:\Users\Patrick\PycharmProjects\OptionDetails.com\OptionDetails>py -m pip install -U Django Requirement already up-to-date: Django in c:\users\patrick\pycharmprojects\optiondetails.com\venv\lib\site-packages (3.0.5) Requirement already satisfied, skipping upgrade: asgiref~=3.2 in c:\users\patrick\pycharmprojects\optiondetails.com\venv\lib\site-packages (from Django) (3.2.7) Requirement already satisfied, skipping upgrade: sqlparse>=0.2.2 in c:\users\patrick\pycharmprojects\optiondetails.com\venv\lib\site-packages (from Django) (0.3.1) Requirement already satisfied, skipping upgrade: pytz in c:\users\patrick\pycharmprojects\optiondetails.com\venv\lib\site-packages (from Django) (2020.1) Could not build wheels for Django, since package 'wheel' is not installed. Could not build wheels for asgiref, since package 'wheel' is not installed. Could not build wheels for sqlparse, since package 'wheel' is not installed. Could not build wheels for pytz, since package 'wheel' is not installed. -
Posting product quantity in a Django form
I'm working with an e-commerce webapp and in the product detailed-view I want to give the option to set the quantity before the checkout. I thought I could do this with a simple form: class QuantityForm(forms.Form): quantity = forms.IntegerField(widget=forms.NumberInput(attrs={'class':'required'})) And then implementing it to the view: class BagDetailView(DetailView): context_object_name = 'ctx' model = Bag template_name = 'product_page.html' def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['form'] = QuantityForm(initial={'quantity':1}) context['Jackson'] = Bag.objects.get(title = 'Jackson') context['Anthony'] = Bag.objects.get(title = 'Anthony') return context But the problem is the POST request. I cannot call the render() function because I have another view to handle the checkout, so I need to call redirect(). This is the code: def post(self, *args, **kwargs): form = QuantityForm() b = Bag.objects.get(slug=kwargs['slug']) if form.is_valid: return redirect(b)# calls get_absolute_url which redirects to checkout/<slug> And I cannot access the data that I'm posting in the other view. I think it's bad practise to post data like this to another view, but I couldn't come up with anything but that. Is there any other way to pass that data into the other view? Note: I'm not using a cart system because I'm only dealing with two products. -
How to force migrations withouth access to db
I am working on Django application. The situation is: I have some fixtures that i want to apply to database withouth deleting existing data. If i try to import data: python manage.py loaddata products/fixtures/products/small_test_data.json The application return me: Could not load x: null value in column "image_url" violates not-null constraint DETAIL: Failing row contains (2, Test, 99, 1000, null, 2, 3). I know there are kinds solutions where you need to remove some tables from db, but I want to migrate tables withouth deleting or corrupting database. If this is possible, I would like to do it withouth access to database. -
Trying to generate separate DOB fields on edit profile view - Django
I have been looking around and trying to get a drop down menu for Date of Birth e.g. dd/m/yyyy for my project, I'm currently using the following: This code snippet is from the edit profile page of my web application. YEARS= [x for x in range(1940,2021)] birth_date = forms.DateField(label='What is your birth date?', initial="1990-06-21", widget=forms.SelectDateWidget(years=YEARS)) When viewing the actual edit page, this does not appear to render. However, if you were to either inspect element, or view page source you can see the following: <select name="birth_date_month" required id="id_birth_date_month"><option value="1">January</option><option value="2">February</option><option value="3">March</option><option value="4" selected>April</option><option value="5">May</option><option value="6">June</option><option value="7">July</option><option value="8">August</option><option value="9">September</option><option value="10">October</option><option value="11">November</option><option value="12">December</option></select><select name="birth_date_day" required id="id_birth_date_day"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option> --- Truncated for demo purposes --- Model: birth_date = models.DateField(null=True, blank=True) I am however able to use and view the following successfully, although this is not what I want to view: dob = forms.CharField(widget=forms.widgets.DateTimeInput(attrs={"type": "date"})) However, this just looks like one of those crappy date selectors that aren't particular great... Inefficient date selector Can someone point me in the right direction please? -
Django app not including base.html template in downstream apps
I have a Django application where I am trying to set up a base html template to include footers, navbars etc which I can re-use across the site. The issue I am having is that I get an error when I try to include my base template in the downstream app template folders and indexes. I hope that makes sense. In my main root directory I have templates/base.html and in my app at NewsBase/templates/NewsBase/index.html I have the below: {% extends 'templates/base.html' %} <body> <h1>NewsBase</h1> </body> My routes/urls are working fine as this html renders as long as the extends block is removed. How can I properly include my base.html template from other apps in the solution? Base.html <!DOCTYPE HTML> {% load staticfiles %} {% block content %}{% endblock %} {% include "footer.html" %} </html> Error: TemplateDoesNotExist at / templates/base.html Request Method: GET Request URL: http://127.0.0.1:8000/ Django Version: 1.11.29 Exception Type: TemplateDoesNotExist Exception Value: templates/base.html Exception Location: /home/etherk1ll/.local/lib/python2.7/site-packages/django/template/engine.py in find_template, line 148 Python Executable: /usr/bin/python Python Version: 2.7.17 Python Path: ['/home/etherk1ll/Development/python_projects/NewSite', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/home/etherk1ll/.local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages'] Server time: Thu, 30 Apr 2020 22:30:51 +0000 -
Django Channels Realtime Chat
Django channels Realtime chat Task build realtime chat, as well as sending / receiving notifications not related to the chat. A total of 2 real-time functions. Tools backend - django frontend - Android Mobile App Problem on a localhost, the code works, messages reach the client. Deployed on Heroku, the tariff is free. It turned out that there is a limit on connections = 20 (which is not enough for one user for 10 minutes). After each request, a new connection is created through ASGI, everything is ok for WSGI. To the limit - everything works, but when there are 20 connections, messages reach 2-3 times. Attempts to solve 1. I registered in the code close_old_connections, it did not work to kill the connection. Those for each message creates a new connection. Googled for several days, did not find a solution on this issue. 2. I tried with both Daphne and Uvicorn - the effect is the same Question maybe django-channels is not a suitable option for the task. Perhaps it’s worth abandoning Heroku, deploying to another hosting and raising Nginx, and all the restrictions will disappear? The offial documentation says that django-channels should support up to 1000 connections, but … -
How take values of params a URL in Django and give a Form
models.py class Prueba(models.Model): #collection name cantidad = models.PositiveIntegerField(default=1) def __str__(self): return str(self.cantidad) urls.py from django.urls import path from . import views app_name = "home_app" urlpatterns = [ path( 'confirmar_viaje/', views.SampleView.as_view(), name='userviajes', ), ] View.py class SampleView(CreateView): model=Prueba template_name='testpag.html' form_class=TestForm success_url = '/' def init_page(request): print(request.GET) pasajeros = self.request.form['pasajeros'] print(pasajeros) forms.py class TestForm(forms.ModelForm): class Meta: model=Prueba fields=['cantidad'] I use a DetailView, inside html have a form(html). The result is /test/?pasajeros=99 I want to take from de url params. pasajeros=99 and fill a textfield from form. The code dont have errors but i need to recuperate the param or params. Any Idea? -
Can't add widget to UserCreationForm
I want to style my form. And I need to add placeholder to all inputs but can't add placeholder to password1 and password2. I tried: class RegistrationForm(UserCreationForm): """ The registration form that inherits UserCreationForm. Fiels: ['email', 'username', 'password', 'password_repeat'] Windgets: For all inputs we creates atributte class: .signup_input """ class Meta: model = Account fields = ['email', 'username', 'password1', 'password2'] widgets = { 'email': forms.TextInput(attrs={'placeholder': 'Email'}), 'username': forms.TextInput(attrs={'placeholder': 'Type your username'}), 'password1': forms.TextInput(attrs={'placeholder': 'Choose a password'}), 'password2': forms.PasswordInput(attrs={'placeholder':'Confirmar Password'}), } this is my model: class Account(AbstractBaseUser): """ The class Account inherits AbstractBaseUser. This is a model for users. Fields: ['email', 'username', 'date_joined', 'is_active', 'is_moderator', 'is_admin', 'is_superuser', 'is_staff'] Model manager is: objects = MyAccountManager() """ email = models.EmailField(max_length=20, unique=True, verbose_name='email') username = models.CharField(max_length=12, unique=True) date_joined = models.DateTimeField(auto_now_add=True, verbose_name='date joined') is_active = models.BooleanField(default=True) is_moderator = models.BooleanField(default=False) is_admin = models.BooleanField(default=False) is_superuser = models.BooleanField(default=False) is_staff = models.BooleanField(default=False) #What user will put into form USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['username',] How can I add placeholder to password1 and password2? Thanks)