Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
how to receive modelform_instance.cleaned_data['foreign key field'] in view?
Here is the situation: I have a model as below: class Permit(Model): permit_option = BooleanField() Permit model has two objects: Permit.objects.create(permit_option=False) Permit.objects.create(permit_option=True) I have another model: Interest(Model): permit_interest = ForeignKey(Permit, default=True, null=True, blank=True, on_delete=CASCADE, ) I then build a ModelForm using Interest: class InterestForm(ModelForm): class Meta: model = Interest fields = '__all__' I have a view: def interest(request): template_name = 'interest_template.html' context = {} if request.POST: interest_form = InterestForm(request.POST) if interest_form.is_valid(): if interest_form.cleaned_data['permit_interest'] == 2: return HttpResponse('True') elif interest_form.cleaned_data['permit_interest'] == 1: return HttpResponse('False') else: return HttpResponse('None') else: interest_form = InterestForm() context.update({interest_form': interest_form, }) return render(request, template_name, context) and in interest_template.html I have: <form method="post"> {% csrf_token %} {{ interest_form.as_p }} <button type="submit">Submit</button> </form> I expect to see True when I choose True in the form field and submit it. Or see False when I choose False in the form field and submit it. I have tested numerous methods: if request.POST: interest_form = InterestForm(request.POST) if interest_form.is_valid(): if interest_form.cleaned_data['permit_interest'] == True: return HttpResponse('True') elif interest_form.cleaned_data['permit_interest'] == False: return HttpResponse('False') else: return HttpResponse('None') or if request.POST: interest_form = InterestForm(request.POST) if interest_form.is_valid(): if interest_form.cleaned_data['permit_interest'] == 'True': return HttpResponse('True') elif interest_form.cleaned_data['permit_interest'] == 'False': return HttpResponse('False') else: return HttpResponse('None') or if request.POST: interest_form = InterestForm(request.POST) if … -
no such table: news_commentmodel
I make comments on the site and when I fill out the form I send it to me gives an error The above exception (no such table: news_commentmodel) was the direct cause of the following exception. And shows an error in saving the form After filling out the form, all comments (data) should be shown below. I display them through the template. views.py def ArticleDetailView(request, pk, tag_slug=None): tag = None if tag_slug: tag = get_object_or_404(Tag, slug=tag_slug) Articles.objects.filter(pk=pk).update(view=F('view') + 1) Articles.objects.all() article_details = Articles.objects.filter(pk=pk).first() if request.method == 'POST': comment_form = Comments(request.POST) comment_form.save() else: comment_form = Comments() commentss = CommentModel.objects.all() return render(request, 'news/post.html', {'article_details': article_details, 'tag': tag, 'comment_form': comment_form, 'comments': commentss, }) models.py class CommentModel(models.Model): name = models.CharField(max_length=100) text = models.TextField(default='') dates = models.DateTimeField(auto_now=True) class Meta: ordering = ['-dates'] def __str__(self): return self.name forms.py class Meta: model = CommentModel fields = ('name', 'text') post.html <form action="" method="post"> {% csrf_token %} <div style=" margin-left: 35% ; border: 3px solid #4242A3; border-radius: 15px; width: 400px ; " > <br> <br> {{ comment_form }} <br> <input type="submit" value="оставить коммент"> <br> </div> {% if commentss %} {% for comment in commentss %} <div class="container" > <div class="panel panel-default" style="color: #4363A3 ;" id="Comment"> <div style="color: #4363A3 ;" … -
How to use mysql database data into FusionCharts in Django
I want to Use the data which is store in MySQL database by running queries and show the data with the help of FusionCharts. Now the fusionCharts uses json data format but MySQL data does not. How can I display my database data with fusionCharts.I need help with the code. This is my views.py (This is not all of the views.py just the relevent one.) from .fusioncharts import FusionCharts def chart(request): # Create an object for the column2d chart using the FusionCharts class constructor monthly = FusionCharts('column2d', 'ex1', '600', '400', 'chart-1', 'json', """{ "chart": { "caption": "Monthly offense", "subcaption": "Month of July", "xaxisname": "Country", "yaxisname": "Offenses", "numbersuffix": "", "theme": "fusion" }, "data": [ { "label": "Jan", "value": "290" }, { "label": "Feb", "value": "260" }, { "label": "Mar", "value": "180" }, { "label": "April", "value": "140" }, { "label": "May", "value": "115" }, { "label": "June", "value": "100" }, { "label": "July", "value": "30" }, { "label": "Aug", "value": "30" }, { "label": "Sept", "value": "30" }, { "label": "Oct", "value": "30" }, { "label": "Nov", "value": "30" }, { "label": "Dec", "value": "30" } ] }""") context = { 'all_count': all_count, 'total_high': total_high, 'total_medium': total_medium, 'total_low': total_low, 'monthly': monthly.render(), … -
WSGIPassAuthentication does not take affect with customized authentication
i' ve the following setup: django: 2.2.1 python: 3.5.2 mysql-server: 5.7 apache2: 2.4.25-3+deb9u7 and i use my own authentication backend: common/backends.py class MyOwnAuthenticationBackend(ModelBackend): def authenticate(self, username=None, password=None): ... def get_user(self, username): ... . /etc/apache2/sites-enabled/sprj.conf <VirtualHost *:80> ServerName 127.0.0.25 ServerAlias sprj.localhost sprj.somedomain1.hu sprj.somedomain2.hu DocumentRoot /usr/share/sprj <Directory /usr/share/sprj> Order allow,deny Allow from all WSGIPassAuthorization On </Directory> WSGIDaemonProcess sprj.djangoserver user=sprj processes=10 threads=20 display-name=%{GROUP} python-path=/usr/share/sprj:/home/sprj/.virtualenvs/sprj/lib/python3.5/site-packages WSGIProcessGroup sprj.djangoserver WSGIPassAuthorization On WSGIScriptAlias / /usr/share/sprj/sprj/wsgi.py CustomLog ${APACHE_LOG_DIR}/sprj-access.log combined ErrorLog ${APACHE_LOG_DIR}/sprj-error.log LogLevel debug </VirtualHost> This works well, but i' d like to see the logged in username in the apache2 log files. For this i' ve the WSGIPassAuthorization On line in the conf file, but nothing seems to be changed (of course apache2 is restarted). What did i miss here? I read many other questions about it, but i can' t figure out how to dig deeper. It seems the header is not really changed (checking with tcpflow with and without the option). The wsgi.py file is the default one: wsgi.py import os from django.core.wsgi import get_wsgi_application os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'sprj.settings') application = get_wsgi_application() . How can i check what do i miss? My goal would be to see the logged in username in the apache2 log files. -
Creating Custom FileField Datatype in Django
I want to create custom FileField which can store multiple files link in the single FileField and if possible I want to create a Custom Upload_to that can satisfy my need and there should not be any multiple entries for a single user in my Database. I have tried other Approaches such as Arrayfield with FileField but they don't work together as it is a limitation in Django I want to create custom FileField which can store multiple files link in the single FileField and if possible I want to create a Custom Upload_to that can satisfy my need and there should not be any multiple entries for a single user in my Database. or is there any other approach. -
How can I update a user field using this function on sign up in django?
I want to update field CustomUser (Custom User Model) field Origin_ip with a function like this, where would I place and call this? def get_client_signup_ip(reuqest): g = GeoIP2() x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: ip = x_forwarded_for ip2 = '192.227.139.106' city = g.city(ip2) else: ip = request.META.get('REMOTE_ADDR') ip2 = '192.227.139.106' city = g.city(ip2) return ip I've tried placing this in my forms.py but request is not defined there, so I am unable to pass it. I'm not sure how to properly call this function from views.py in order to update a user field. urls.py urlpatterns = [ path('signup/', views.SignUp.as_view(), name='signup'), ] forms.py class UserCreateForm(UserCreationForm): email = forms.EmailField(required=True) captcha = ReCaptchaField() class Meta: model = CustomUser fields = ("username", "email", "password1", "password2") def save(self, commit=True, request=True): # what is request=True doing here? user = super(UserCreateForm, self).save(commit=False) user.email = self.cleaned_data["email"] if commit: user.save() return user views.py class SignUp(generic.CreateView): form_class = forms.UserCreateForm success_url = reverse_lazy('login') template_name = 'signup.html' -
Receiving an error that my dict object has no attribute META in a Django app
I am trying to pull json data and display it on a page using Django. I am receiving the following error: 'dict' object has no attribute 'META' on line 36 of my views.py file which is the following: return render(request, 'base_generic.html', context=context) This came up in a search but I have the correct brackets for my context and I also found this but it is honestly just confusing me even further. Do you have any suggestions as to why this is happening or what I am doing wrong? Thank you so much and if there is anything else I can provide to make my question more clear I will do so. Thank you all for your time. views.py from django.shortcuts import render from datetime import datetime import requests def index(request): request = requests.get(MY_URL_IS_HERE).json() current_temperature = request['currently']['temperature'] current_cloud_cover = request['currently']['cloudCover'] current_humidity = request['currently']['humidity'] current_near_storm_distance = request['currently']['nearestStormDistance'] current_near_storm_bearing = request['currently']['nearestStormBearing'] current_precip_intensity = request['currently']['precipIntensity'] current_uv_index = request['currently']['uvIndex'] current_sunrise = datetime.fromtimestamp(request['daily']['data'][0]['sunriseTime']) current_sunset = datetime.fromtimestamp(request['daily']['data'][0]['sunsetTime']) test = 'test' context = { 'current_temperature':current_temperature, 'current_cloud_cover':current_cloud_cover, 'current_humidity':current_humidity, 'current_near_storm_distance':current_near_storm_distance, 'current_near_storm_bearing':current_near_storm_bearing, 'current_precip_intensity':current_precip_intensity, 'current_uv_index':current_uv_index, 'current_sunrise':current_sunrise, 'current_sunset':current_sunset, } return render(request, 'base_generic.html', context=context) generic_base.html <!DOCTYPE html> <html lang="en"> <head> {% block title %}<title>weather</title>{% endblock %} <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" … -
Supervisorctl add environment variables
Is there a way on how to put/add environment variables in the staging server? Because in my local server, I have my api key inside .bash_profileand retrieving the key with API_KEY = os.getenv('API_KEY') The program works fine in localhost but when in the staging server, it raises an ImproperlyConfigured error and says that my API_KEY in settings.py is missing. -
Django sitemap urls http to https
py file is; class PostSitemap(Sitemap): changefreq = "never" priority = 0.5 def items(self): return Post.objects.published() def lastmod(self, obj): return obj.created_date I'm using SSL Certificate but sitemap.xml urls are http like; <sitemap> <loc>http://www.name.com/sitemap-post.xml</loc> </sitemap> How can i change http to https? -
Create Project Structure Using Python and Djagno
I created a small project using python, django, Html, css, javascript. So I created one project folder and two applications like(django pro, account app, projectapp). i don't know where to write code signup, login, forget password and reset password. Can anyone suggest a good structure? -
Django render and redirect URL
Hello i'm a newbie to Django, i'm currently having problem figure out how to redirect and return value I have a url with 2 parameters that are month and year . After clicking on it , it should redirect to page with url like so "list-working-sessions/year/month" with year and month parameters base on the action. urls.py url(r'^list-working-sessions/(?P<year>\w+?)/(?P<month>\w+?)/$', views.list_working_sessions, name='list_working_sessions') base.html <ul class="treeview-menu"> <li id="list-daily-task"> <a href="{% url 'list_working_sessions' %}"> <i class="fa fa-circle-o"></i>List Working Session</a> </li> </ul> The page have a table and a form to search by month and year: list_working_sessions.html <div class="box"> <div class="box-header"> <center> <h3 class="box-title">List Working Sessions</h3> </center> </div> <!-- /.box-header --> <div class="box-body"> <form class="form-horizontal" action="/list-working-sessions" method="GET"> {% csrf_token %} <div class="table-responsive"> <table class="table table-borderless" id="dynamic_field"> <tr> <th style="width:20%; border-top:none">Month</th> <th style="width:20%; border-top:none">Year</th> <th style="width:20%; border-top:none"></th> <th style="border-top:none"></th> </tr> <tr> <td style="border-top:none"> <select name="month" class="form-control" id="month" required> <option value="1" selected>1</option> <option value="2" selected>2</option> <option value="3" selected>3</option> <option value="4" selected>4</option> <option value="5" selected>5</option> <option value="6" selected>6</option> <option value="7" selected>7</option> <option value="8" selected>8</option> <option value="9" selected>9</option> <option value="10" selected>10</option> <option value="11" selected>11</option> <option value="12" selected>12</option> </select> </td> <td style="border-top:none"> <select name="year" class="form-control" id="year" required> <option value="2019" selected>2019</option> <option value="2020" selected>2020</option> </select> </td> <td style="border-top:none"><button type="submit" id="submit" class="btn btn-info">Send</button></td> … -
How display the model in the use i put a permissions
i want to do is like the admin i created a model and i create a user and i assign the user a permission and it display the model when i login it. My problem is i create my own login page connected to the username and password from the admin and when i login they directed to the html file i created. how to display the model in the html file like in the admin page ? is it like in the login file i create ? Login.View ? path('', auth_views.LoginView.as_view(template_name='login/Login.html'), name="login"), -
How do I optionally add results generated in my view to database?
I honestly don't really know how to describe this problem so I'll list out the steps I want it to accomplish. Django displays web page with a single form User enters something into that form and presses Submit Django takes that input and generates something dynamic and that is then shown to the user. This is what I've accomplished so far, but I'm having trouble figuring out what to do for the steps below. The dynamically generated output has a button next to it called "Save", which will optionally save that output to the users database. Can someone give me hints on how to tackle this? -
SSR + CSR (?) can I add SSR to a vue-cli 3 project? (vue-cli 3 + django)
I'm using the Vue-CLI 3 and Django together. I think it might be a basic question, I can't sure that is right structure. Vue-CLI vue vue-router vuex Django (Django restframework) router (we have url.py for each page) API _base.html (_base.html included on every page, and main.js located in frontend/dist/static/main.js) <body> {{% static main.js %}} </body> It can be access every pages with SSR x CSR load vue component on routed in Vue-CLI without page loading(=CSR) when I click a link that defined router-link. Django return 404 when try to access not defined page url (e.g. GET http://localhost:8000/aaa). I would be great if you could give me some advice. thanks. -
pass serializer errors as a response in a list format
I am using graphene_django alongside rest_framework serializers. When i get validation issue, I am getting the error as follow "{'email': [ErrorDetail(string='user with this Email Address already exists.', code='unique')]}", How can I pass the error in a List way like I am passing when password do not match? here is how I am doing right now class Register(graphene.Mutation): class Arguments: email = graphene.String(required=True) password = graphene.String(required=True) password_repeat = graphene.String(required=True) user = graphene.Field(UserQuery) token = graphene.String() success = graphene.Boolean() errors = graphene.List(graphene.String) @staticmethod def mutate(self, info, email, password, password_repeat): if password == password_repeat: try: serializer = RegistrationSerializer(data={'email': email, 'password': password, 'is_confirmed': False}) print('#########Serializer########', serializer) if serializer.is_valid(raise_exception=True): print('serializer is valid') user = serializer.save() auth = authenticate(username=email, password=password) login(info.context, auth) return Register(success=True, user=user, token=get_token(auth)) print('############serializer errors##########', serializer.errors) return Register(success=False, token=None, errors=['email/password', 'Unable to login']) except ValidationError as e: print("validation error", e) return Register(success=False, errors=[e]) return Register(success=False, errors=['password', 'password is not matching']) -
High memcached connections after django upgradation
We recently upgraded our django site from 1.6 to 1.11 which is running on python2. Recently we have observed memcahed down and we have found in error log below message. [Thu Jul 25 12:56:58.342182 2019] [:error] [pid 32575:tid 140131889002240] ServerDown: error 47 from memcached_get(key): (140131092682816) SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY, host: localhost:11211 -> libmemcached/get.cc:314 I am using memcached default configurations and django default settings. Can any one suggest me fix for this? And best configurtation for django settings? Thanks -
CSRF token missing or incorrect - Django 2.2
I try to create an admin user in my application, but even I do not include any code, it gives the error 'CSRF token missing or incorrect'. I can't find what to do. Can anyone solve this problem? I tried all the suggestions from my friends, and Django documentation, but none of them could solve it. Actually, there is no need to paste my code, because as I mentioned before even without any HTML templates it is not possible to create an admin user. -
Django ORM leaks connections when using ThreadPoolExecutor
I'm using ThreadPoolExecutor to speed up data processing. The problem is that the thread pool creates new database connections and Django doesn't close them. I do have CONN_MAX_AGE in settings.py and I already tried to call django.db.close_old_connections(). Here is a code example: def compute(job): result = FooModel.objects.filter(...).aggregate(...) return BarModel.objects.create(result) def process(dataset): thread_pool = ThreadPoolExecutor(max_workers=20) futures = [] for job in dataset: futures += [thread_pool.submit(compute, job)] results = list(r.result() for r in wait(futures)[0]) return results for i in range(0, 100): process(['foo', 'bar', qux']) Is Django ORM able to terminate idle DB connections if they were started in another thread? -
How to get access to objects that have been deleted in Model in Django?
I am developing a parking management system in Django that records the 'Vehicle' object according to its time of entry, and calculates the value as it leaves, but I need to develop a reporting system that returns how many cars entered and how much total value of the day. How can I get access to vehicles that have left, because on my system, after the checkout, the object is deleted in the database to report in the report. # models.py class Vehicle(models.Model): brand = models.CharField(max_length=100, null=False) model = models.CharField(max_length=100, null=False) color = models.CharField(max_length=50, null=False) vehicle_plate = models.CharField(max_length=8, null=False) entry_time = models.DateTimeField(auto_now_add=True, null=False) def __str__(self): return self.vehicle_plate class Price(models.Model): morning = MoneyField(max_digits=14, decimal_places=2, default_currency='BRL', default='2') afternoon = MoneyField(max_digits=14, decimal_places=2, default_currency='BRL', default='3') weekend = MoneyField(max_digits=14, decimal_places=2, default_currency='BRL', default='2.5') def __str__(self): return "value table" I think need to create a template for registering vehicles that have left parking lot, but I don't know how to get access to deleted objects. -
UnboundLocalError at /products/search/ local variable 'query' referenced before assignment
I have this problem UnboundLocalError at /products/search local variable 'query' referenced before assignment /on this code help out, am searching a product using title and category def search(request): try: q = request.GET.get('q', '') except: q = False if q: query = q product_queryset = Product.objects.filter( Q(name__icontains=q)| Q(description__icontains=q) ) category_queryset = Category.objects.filter( Q(title__icontains=q)| Q(description__icontains=q) ) results = list(chain(product_queryset,category_queryset)) context = { 'query':query, 'product_queryset':product_queryset, 'category_queryset':category_queryset, 'results':results, } return render(request,"products/search.html", context) -
Accessing ImageField in clean()/save() at creation time and updates
I have a model in Django which has a lot of computed fields, it looks like this: class Media(models.Model): titel = models.CharField(max_length=128) datei = models.ImageField(upload_to='usermedia/%Y/') # automatically calculated fields width = models.PositiveIntegerField(editable=False) height = models.PositiveIntegerField(editable=False) imagetype = models.CharField(editable=False, max_length=32) thumbnail_b64 = models.CharField( editable=False, max_length=4096) def clean(self): self.width = self.datei.width self.height = self.datei.height self.imagetype = magic.from_buffer(self.datei.read(), mime=True) buffer = BytesIO() img = Image.open(self.datei) img.thumbnail((32, 32)) img.save(buffer, format="PNG") self.thumbnail_b64 = base64.b64encode( buffer.getvalue()).decode("utf-8") Everything is good at a first glance - the model does what is meant to, at least at adding new Instances. But as soon as I try to update one instance, then Django raises an error: Exception Type: ValueError Exception Value: read of closed file The problem seems to be self.imagetype = magic.from_buffer(self.datei.read(), mime=True). I think self.datei is no longer in the memory, right? I therefore changed the from_buffer thingy in both parts into: self.imagetype = magic.from_file(self.datei.path, mime=True) ... img = Image.open(self.datei.path) Now I can finally update my model instances, BUT now I am getting a FileNotFoundError error when adding new instances... How would a solution look like that works for both, adding new entries and updating old ones? -
How to make CORS POST requests using axios?
I can make a POST request from PostMan and successfully hit the backend. However, when I try in the react app I get: Access to XMLHttpRequest at 'http://XXX.ngrok.io/api/top_level_source_jobs/' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Axios post code: axios.post(url, data, { headers: { 'Access-Control-Allow-Credentials': true, 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET', 'Access-Control-Allow-Headers': 'application/json', } }) .then(res => { console.log(res) }) .catch(err => { console.log(err); }); For some reason, installing this app fixes it: https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en What does this app do that my headers aren't? Is axios not setting headers for some reason? -
Issues getting all users from my django models
I am trying to get all the user from my database to display all the username, goals and goals id using the related name, but I can't seem to do that. model class GoalStatus(models.Model): status_name = models.CharField(max_length=60) def __str__(self): return self.status_name class ScrumyGoals(models.Model): goal_status = models.ForeignKey(GoalStatus, on_delete=models.PROTECT, related_name='goalstatus') user = models.ForeignKey(User, related_name='scrumygoals', on_delete=models.PROTECT) goal_name = models.CharField(max_length=60) goal_id = models.IntegerField() created_by = models.CharField(max_length=60) moved_by = models.CharField(max_length=60) owner = models.CharField(max_length=60) view def home(request): user = User.objects.all() # User1 = ScrumyGoals.objects.filter(goal_name='Learn Django') context = {'User': User} return render(request, 'django/home.html', context) template {% for g in User.scrumygoals_set.all %} <td>g.User.User</td>> <td>g.goal_name</td>> <td>g.goal_id</td>> {% endfor %} the output is supposed to look like this User Weekly Goals Daily Goals Verify Goals Done Goals username Goalname Goalid Goalname Goalid -
Is there a way I can render the text present in a docx/doc(that I uploaded using file field) file to an HTML template in the exact same manner?
I want to upload a specific doc file using File field And view it as an HTML text with all the bold and italics and bullets and indents originally present in the doc file. Is it possible??? -
ModelAdmin ManyToManyField can be empty?
I have the class Tag with ManyToManyField: class Tag(models.Model): templates = ManyToManyField(Template, related_name='tags') And TagAdmin class in admin.py from django.contrib import admin from . import models @admin.register(models.Tag) class TagAdmin(admin.ModelAdmin): ... In django-admin require select at once value for field templates. But I don't want it! How I can use admin without required field templates.