Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Error "'DefaultConnectionProxy' object has no attribute '__getitem__'" when calling stored procedure
Hi i'm making a project using python/Django, on my first page (index) i'm calling a stored procedure to fetch the data. def index(request): listOPT = [] Data = [] fluxState = settings.FLUX_MANAGER_STATE if fluxState != True: listOPT.append('FLUX AXEREAL : OFF') cursor = connection['site'].cursor() """MS SQL CALL TO STORED PROCEDURE SP_webGET_RESUME_MVT_INIT_ACTIF """ cursor.execute("{CALL SP_webGET_RESUME_MVT_INIT_ACTIF}") mouvements = cursor.fetchall() cursor.close() return render(request, 'index.html', locals()) but when executing i get this error "'DefaultConnectionProxy' object has no attribute 'getitem'" Traceback : Environment: Request Method: GET Request URL: http://10.1.20.14:8084/gestion_mouvement/index Django Version: 1.9.6 Python Version: 2.7.11 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'Gestion_Mouvement'] Installed Middleware: ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'easy_pjax.middleware.UnpjaxMiddleware'] Traceback: File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response 149. response = self.process_exception_by_middleware(e, request) File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response 147. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "E:\prog2\PJ1705-027_Automatisation_Silo1_Site_LADON\4-Developpement\Informatique\Web\Gestion_Mouvements\Gestion_Mouvements\Gestion_Mouvement\views.py" in index 26. cursor = connection['site'].cursor() Exception Type: TypeError at /gestion_mouvement/index Exception Value: 'DefaultConnectionProxy' object has no attribute '__getitem__' Any idea on how to fix this ? i saw some people had to add some def unicode to their models but it doesn't seem to work for me. -
Create a django superuser but never let it login
from django.contrib.auth.models import User from django.core.management.base import BaseCommand class Command(BaseCommand): help = 'Create default system user without login authorization' def handle(self, *args, **options): User.objects.create_superuser('codobot', 's@codium.co', None) I create the superuser with None password But when I look into the database it still has data in field password. Begin with ! Question: Is that user be able to login? -
WebInterface for a complex programmable logic controll device
My project is to develop a Web Interface for a complex machine. The web interface should be applied for maintaining and diagnostics. The webserver should run on a embedded device. On the embedded device a process which takes all the required data from the complex machine (Sensor data, etc..) and delivers the data to the webserver/webinterface is needed. Another requirement is, the webinterface should be available for a long product live cycle. The webinterface should show realtime data and allow to manipulate data from the complex machine. So I`m completely new at this topic. I found out the Webframework Django and for real-time data the module channels (Websocket) would be fit for this. What experience is available for Django/Channels or other Solutions to fulfill my requirements ? -
Change 'Change model class name' in Django Admin || Change the Change <h1>
I know about: class MFM(models.Model): class Meta: verbose_name = 'my fancy Model' verbose_name_plural = 'my fancy Models' but when I edit MFM in Django Admin, it says 'Change my fancy Model'. But I want it to say 'Settings on my fancy Models'. -
How can I prevent the same task executed one OVER another?
I have a task that pulled data from API and then do system automation (deleting, renaming, ...) with respect to a database (SQLite). I set the task to be executed every 5 minutes. However, sometimes the task takes more than 5 minutes to complete, hence two task run in parallel. This is not good because SQLite database is locked to the task in 0 minute. How can I have, either, the task will not be executed unless the previous task has already finished or the second task queued-up and executed directly after the 0 minute task finished? I have tried to use global boolean to prevent the task to be executed when it is running, like this. automate_is_running = False @periodic_task(run_every=timedelta(minutes=5)) def automate(): if not automate_is_running: automate_is_running = True automate_all() automate_is_running = False But that returns UnboundLocalError: local variable 'automate_is_running' referenced before assignment error. What should I do? -
Django 1.11.5 templates in nested folders
I have a problem with Django Templates in nested folders. My project has the next schema: . ├── eventus │ ├── eventus │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── __init__.cpython-36.pyc │ │ │ ├── urls.cpython-36.pyc │ │ │ └── wsgi.cpython-36.pyc │ │ ├── db.sqlite3 │ │ ├── settings │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ │ ├── __init__.cpython-36.pyc │ │ │ │ ├── base.cpython-36.pyc │ │ │ │ └── local.cpython-36.pyc │ │ │ ├── base.py │ │ │ ├── local.py │ │ │ ├── prod.py │ │ │ └── staging.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── manage.py │ └── myapps │ ├── __init__.py │ ├── __pycache__ │ │ └── __init__.cpython-36.pyc │ ├── events │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── __init__.cpython-36.pyc │ │ │ ├── admin.cpython-36.pyc │ │ │ ├── models.cpython-36.pyc │ │ │ ├── urls.cpython-36.pyc │ │ │ └── views.cpython-36.pyc │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_auto_20170924_2140.py │ │ │ ├── __init__.py │ │ │ └── __pycache__ │ │ │ ├── 0001_initial.cpython-36.pyc │ │ … -
django form template designer friendly
I am doing the django project right now. I love the principle of DRY. I have a form which can be applied to all other pages which needs it. I mean a generic form based from django docs. But in the form, there can be select type, file upload, checkbox, radio etc which I dont like the design of native html. I want to leverage the design of material with some customization. How can I do it? Below is my form and my form has checkbox, file upload and multiple select which I need to customize. In a nutshell, my question is how do I make my generic form designer friendly? For now I am handling my form template as follow <form class="form" role="form" action="" method="post"> {% csrf_token %} <div class="form-group label-floating"> <label class="control-label" for="{{ form.company.id_for_label}}">Company</label> <select class="form-control" name="{{ form.company.name }}" id="{{ form.company.id_for_label}}"> <option value=""></option> {% for id, name in form.company.field.choices %} <option value="{{ id }}" class="option">{{ name }}</option> {% endfor %} </select> </div> <div class="form-group label-floating"> <label class="control-label" for="{{ form.name.id_for_label}}">Job Title</label> <input type="text" id="{{ form.name.id_for_label }}" name="{{ form.name.name }}" class="form-control"> </div> <div class="row"> <div class="col-md-6"> <div class="form-group label-floating"> <label class="control-label" for="{{ form.description.id_for_label}}">{{ form.description.label }}</label> <div class="markdownx"> {{ form.description|add_css:'form-control' }} … -
Django - Saving data across paginated formset
I'm using modelformsets to edit 100's of items at once and I'm using pagination according to the solution at http://missfilly.github.io/2013/02/17/how-to-paginate-django-formset/ This works in general, however the form data is not held when moving pages, therefore if I fill in 10 pages of forms, only the last one is saved. I thought sessions may be the way to solve this however there is no POST data when the 'next' button is pressed. Has anyone come across a need to solve this problem before or could advise me on how I may solve it? Edit: I guess Ajax may also be an avenue to go down to solve this but I'm not sure where I would start. -
Django Internal Server Error - RecursionError
I've tried a very basic load test on my django app, something among the lines: for _ in {1..50}; do for x in {1..50}; do curl http://example.com &> /dev/null; done & done After a while server started returning http 500, the reason for that was RecursionError: Serving on http://unix:/tmp/waitress/socket WARNING:django.template:Exception raised while rendering {% include %} for template 'django/forms/widgets/email.html'. Empty string rendered instead. Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/django/template/loader_tags.py", line 216, in render return template.render(context) File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 209, in render return self._render(context) File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 199, in _render return self.nodelist.render(context) File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 990, in render bit = node.render_annotated(context) File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 957, in render_annotated return self.render(context) File "/usr/local/lib/python3.6/site-packages/django/template/defaulttags.py", line 166, in render values = self.sequence.resolve(context, True) File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 708, in resolve obj = self.var.resolve(context) File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 849, in resolve value = self._resolve_lookup(context) File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 882, in _resolve_lookup current = current[bit] File "/usr/local/lib/python3.6/site-packages/django/template/context.py", line 84, in __getitem__ for d in reversed(self.dicts): RecursionError: maximum recursion depth exceeded while calling a Python object WARNING:django.template:Exception raised while rendering {% include %} for template 'django/forms/widgets/text.html'. Empty string rendered instead. Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/django/template/loader_tags.py", line 216, in render return template.render(context) File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 209, in render return … -
How to request get method for loading another HTML page
I want to load the another html page using ajax getmethod . Currently I am loading my HTML page simply like as follow- Views.py def about(request): context = {} template = 'about.html' return render(request,template,context) I want to load the same html page using ajax get method so I tried as- def about(request): if request.GET.get('id'): data = request.GET.get('id', '') template = loader.get_template('about.html') context = { 'data': data, } return HttpResponseRedirect(template.render(context, request)) But I am struggling doing this and about.html page content is not displaying, I am beginner in ajax and django, please help me.. this is my about.html page {% extends 'base.html' %} {% block content %} {{data}} <h1>hello about</h1> {% endblock %} Here is urls.py details- url(r'^data/', profiles_views.about, name='about'), I am getting this error- ValueError at /data/ The view profiles.views.about didn't return an HttpResponse object. It returned None instead. Request Method: GET Request URL: http://127.0.0.1:8000/data/ Django Version: 1.11.5 Exception Type: ValueError Exception Value: The view profiles.views.about didn't return an HttpResponse object. It returned None instead. Exception Location: C:\Users\prash\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\handlers\base.py in _get_response, line 198 Python Executable: C:\Users\prash\AppData\Local\Programs\Python\Python36-32\python.exe Python Version: 3.6.2 Python Path: ['C:\\Users\\prash\\Desktop\\tryTen', 'C:\\Users\\prash\\AppData\\Local\\Programs\\Python\\Python36-32\\python36.zip', 'C:\\Users\\prash\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs', 'C:\\Users\\prash\\AppData\\Local\\Programs\\Python\\Python36-32\\lib', 'C:\\Users\\prash\\AppData\\Local\\Programs\\Python\\Python36-32', 'C:\\Users\\prash\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages'] Server time: Mon, 25 Sep 2017 10:39:51 +0000 -
how to use filter() function to fetch data between a range?
I have write down a model like this: from future import unicode_literals from django.db import models Create your models here. class SequenceDetails(models.Model): IDs = models.CharField(max_length=30) country = models.CharField(max_length=30) year = models.IntegerField(max_length=30) def __unicode__(self): return self.IDs To fetch data from the data base i have write down a query like this: SequenceDetails.objects.all().filter(country='india').filter(year='2002') which is returning expected results but further I want to filter out data on the basis of country and year range. I have write down a query set like this. SequenceDetails.objects.all().filter(country='india').filter(year__range =['2002','200']) but its now working and throwing error like given bellow: SyntaxError: invalid syntax How can i achieve this thanks -
Best performance web server to handle AJAX requests
I have a web application that should handle thousands of AJAX requests. I want to know which web server I have to use in order to handle these requests efficiently and with low latency. Back-end logic is written in python. I did try Apache-Mod_WSGI->Django and did not get the required efficiency. I thought of using Python-tornado so any any suggestion on which web server I should use? -
Django Pagination: Loads all Element from first page
I have a page blog.html, and pagination sequence loads just fine, But i query the paginator to show one element in a page to test if pagination works. I have 4 items in DB, the pagination reads 4 elements but shows all elements in all pages . Views.py def blog(request): blog_cat = Blog_Categorie.objects.all() all_blog = Blog.objects.all() page = request.GET.get('page') paginator = Paginator(all_blog, 1) try: blog = paginator.page(page) except PageNotAnInteger: blog = paginator.page(1) except EmptyPage: blog = paginator.page(paginator.num_pages) return render_to_response('blog.html',{'blog':all_blog,'blog_cat':blog_cat,'blog_p':blog}) blog.html <div class="col-lg-12 col-md-12 text-center"> {% if blog_p.has_other_pages %} <ul class="pagination"> {% if blog_p.has_previous %} <li><a href="?page={{ users.previous_page_number }}">&laquo;</a></li> {% else %} <li class="disabled"><span>&laquo;</span></li> {% endif %} {% for i in blog_p.paginator.page_range %} {% if blog_p.number == i %} <li class="active"><span>{{ i }}</span></li> {% else %} <li><a href="?page={{ i }}">{{ i }}</a></li> {% endif %} {% endfor %} {% if blog_p.has_next %} <li><a href="?page={{ users.next_page_number }}">&raquo;</a></li> {% else %} <li class="disabled"><span>&raquo;</span></li> {% endif %} </ul> {% endif %} -
Django sending back parameters to the view
I have trouble with one of the page of my project. I have a page, use to look up mouvements history : The Page url contain an ID to search for a specific location for the query Once on the page, the user must choose a begin and end date and then with those informations a sql query get the informations in my view and django fill a datatable with the result. My problem is how do i send back the dates informations to the view once the user picked them on the template ? -
Python: var set in __init__ not available [duplicate]
This question already has an answer here: Python method name with double-underscore is overridden? 2 answers I'm failing to understand the following behaviour inside my debugger: (Pdb++) ll 58 def __init__(self, content=None): 59 import pdb; pdb.set_trace() 60 self.__content = BytesIO() 61 self.__len = 0 62 -> self.read_started = False 63 if content is not None: 64 self.write(content) (Pdb++) !self.__len *** AttributeError: 'FakePayload' object has no attribute '__len' instead I can prove that the object has an attribute like that: (Pdb++) fpl = environ['wsgi.input'] (Pdb++) fpl._ -> <TAB-TAB> _FakePayload__len I have never seen anything like that before and I'd be glad for any hint to make me understand. -
Django mptt DraggableMPTTAdmin and callback on move node
I use DraggableMPTTAdmin in a model of my app. I need to update a field when a node is moved. How can I do it? I can't find a callback or something -
Django foreignkey not set when using an object instance
I bumped into a strange bug this morning and if anyone could explain to me why this fails it would be great. Let say I have two really simple models: class MoMo(models.Model): pass class Objo(models.Model): hef_k = models.ForeignKey(MoMo, null=True, blank=True) When I try to create one of them then adding a foreignkey this way: from foreing_save import models obj = models.Objo() obj.save() obj.hef_k = models.MoMo() obj.hef_k.save() the obj.hef_k seams to exists: obj.hef_k Out[9]: <MoMo: MoMo object> But as soon as I refresh from db or simply get it again it's gone: obj.refresh_from_db() In [12]: obj.hef_k In [13]: obj = Objo.objects.get(pk=obj.pk) obj.hef_k in [14]: Do I miss something ? It seams strange to me and any help on this would be greatly appreciated -
Validate size of list in django drf ListSerializer
How can I validate the (read-only) ListSerializer. In my particular case, I would like to enforce the length of the given iterable. I did the following, it works. However, is it the right place to intercept the data? How can I intercept at the earliest stage? class CustomListSerializer(serializers.ListSerializer): def __init__(self, *args, **kwargs): count = kwargs.pop('count', None) self.count = count super().__init__(*args, **kwargs) def to_representation(self, data): if self.count is not None: if len(data) != self.count: raise serializers.ValidationError("Incorrect list size") -
Django: get model instance from a ModelForm
I have a ModelForm to create/update a particular entity. I need to validate in the form whether an equivalente instance already exists in the database to prevent saving duplicates: class EntityForm(models.ModelForm): def clean(self): if Entity.objects.filter(attr1=self.cleaned_data['attr1'], attr2=self.cleaned_data['attr2']).exists(): raise ValidationError('Entity already exists') But if we are editing an entity, it is obviously going to find itself, therefore throwing a validation error and preventing the form from editing that very instance. I would need to exclude that entry: Entity.objects.filter(...).exclude(id=this_instance.id) How can I get in the ModelForm the instance/id of the model being edited? -
OSError at /app/ Why does such a strange error happen?
I got an error,OSError at /app/ [Errno 63] File name too long: "/Users/xxx/testapp/templates/jinja2/{'items': [{'---': '---', ‘A’: ‘a’, ‘B’: ‘b’, ‘C: ‘c’, ‘D’: ‘d’}]} . I wanna embed json_dict of json_parse method's result in views.py to index.html. I wrote in views.py like from django.shortcuts import render import json def index(request): f = open('./data/data.json', 'r') json_dict = json.load(f) return render('./index.html',json_dict) I wrote in index.html like <html> <head> <script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/chosen/1.8.2/chosen.jquery.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.js"></script> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.css"> </head> <body> <select id="mainDD" data-placeholder="Choose" class="chzn-select" style="width:600px;"> {% for k, v in json_dict.items %} <option>{{ v }}</option> {% endfor %} </select> </body> </html> json_dict has dictionary of {'items': [{'---': '---' ~~~ .I really cannot understand why I cannot send json_dict to index.html.Am I wrong to use render method?How can I fix this? -
Everything related to everything
I'm trying to put together a system where certain models are all related to each other, and can be modified in each others change form within the admin. An example would be Person A being related to Event A and Event B, and when editing either Event A or Event B you'd be able to see, modify, and order Person A. Initially I did this with one super relations table which I used as a through table. This table consisted of a foreign key to each model type. I then used django admin inlines using this relations table which gave me a solution to my example. This also allowed me to have separate inlines for each model type so it is easy to manage. The problem I'm having though is I can't have Event A directly related to Event B because I'm missing the two Event foreign keys on my relations table. Is there a way to solve the self relations using the super table, or is there another method I should be using? -
Can I replace Celery with Django Channels for task scheduling?
I used Celery in my past projets, and recently read about Django Channels concepts. And after reading Django Channels concepts, it seems it does support background processing / task scheduling. The question is NOT: is Django Channels better for task scheduling than Celery?" (I'm pretty sure the answer is NO) The question is: If I'm sure I need Django Channels for something in my project, and then I need to add task scheduling to this project, how would you determine if I need to use Celery in addition to Channels? -
how to get form name from post request using django?
How to get form name(attribute) from post request using django? I cant image how to resolve this. Please let me know. -
How can I upload the image file by using formdata
I have a problem on my code. I want to upload the image file by using formdata and ajax to the server side python program. But I got django.utils.datastructures.MultiValueDictKeyError: "'image'" error in my server uwsgi.log. I think it may not upload the image file to the server, but I don't understand what is wrong on my code. My client code is the following. // Test if the image is shown -> success document.getElementById("previewimage").src = image var formData = new FormData(); formData.append('filename', image_file_name); formData.append('image', image); $.ajax({ url: HOST_NAME + "user/api/file_uploader/", type: 'POST', timeout: 10000, data: formData, processData: false, contentType: false, }) .done(function (data) { jsondata = JSON.parse(data); alert("File upload completed..."); }) .fail(function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus); }) And my server side code is the following. def post(self, request, format=None): outputLogFile("Upload Function is called...") req_file_name = request.data['filename'] req_image = request.FILES['image'] I can get filename from the client when I comment the code of image. Please give me an advice. -
How to generate slug field in the Wagtail CMS?
I use a Wagtail CMS with the Russian language. When I save page, I get slug on Russain. But I need an English slug. I found unidecode package for transliterate Russian to English (for example unidecode(title)). Then I found a "full_clean" method on the Page class where the title is converted into a slug. class Page(six.with_metaclass(PageBase, AbstractPage, index.Indexed, ClusterableModel)): def full_clean(self, *args, **kwargs): if not self.slug: if DJANGO_VERSION >= (1, 9): base_slug = slugify(self.title, allow_unicode=True) else: base_slug = slugify(self.title) if base_slug: self.slug = self._get_autogenerated_slug(base_slug) if not self.draft_title: self.draft_title = self.title super(Page, self).full_clean(*args, **kwargs) I tried to inherit the Page class and change the full_clean method, but I failed. Then I implemented the save method and change slug there. But with this method slug changed each time I save the page. Please tell me is this correct method or is there another way?