Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
How to use temporary in memory database and diff on same schema on disk
I'll try to explain... My need is load data from text file and import in different Models If import is Ok check against existent instances of Models already into the db to find differences. Sometime I need all data are equals sometime I need data from file are new and then import into disk sometime I need to know differences between loaded data and persistent data and ask user what to do with data on disk. After checks, loaded data do not need, so must be deleted My idea is to create in memory db and load data into it so no problem with primary key duplicated an unique constraint ( and no load on disk ) Then query objects with same key in different db and do stuff How can I do that ? There is a better way without touching unique constraint ? Some sample ? Regards, Mauro -
Store file on several hard drives with Django
I'd like to use several hard drives at the same time with django to store my files. My goal is to store big files on a server and share it (on local network). I would like to know how to proceed in order to store my files in several disk and how would react django when the first disk is full. The idea would be to fill the first one and then switch to the second one. Obviously, if we remove a file in the first one, we re-use it. Unfortunately, I didn't find anything about it. thanks in advance. -
How to properly runserver on different settings for Django?
I have a basic django rest API. I want to separate some of my settings for dev and prod just for organizational purposes. I'm also just learning about separating environments. I've read a few things, but I can't seem to get it working the way I want it to. The hierarchy looks like this: - djangorest - api - __init__.py - models.py - views.py - urls.py - etc.. - djangorest - __init__.py - settings.py - urls.py - wsgi.py Right now, when I run the server, I do a simple: python3 manage.py runserver That command reads the settings from settings.py and runs it appropriately but I've looked around on how to separate the settings into prod vs dev and it doesn't work right. I want to be able to have: commonsettings.py dev.py prod.py In commonsettings, it'll just have whatever's in both dev and prod. I've tried running: python3 manage.py runserver --settings=settings.dev But it gives me an error saying there is no module named 'setting'. Please help. Thank you! -
Serializer of 2 objects from 2 models, that do not have relationships
I have 2 modules in 2 different apps that are not in relationship of any kind: class Table(models.Model): name = models.CharField(max_length=32, unique=True) columns = JSONField() class Company(models.Model): name = models.CharField(max_length=32, unique=True) I need to create Serializer, that first of all serialize only 1 specific object (always the same) in Table class. For example it musk have Table.obejects.get(id=1). And then I serialize Company according to content in View funtion, that I posted bellow. That scenario is very important, because in Table I explain how to build table, and in Company I get data, that I'll put in pre-build table. Serializer class for Company: class CompanySerializer(serializers.ModelSerializer): class Meta: model = Company fields = ('name',) View class for Company: class CompanyList(APIView): def get_queryset(self): return Company.objects.all() def get(self, request, format=None): companies = self.get_queryset() serializer = CompanySerializer(companies, many=True) return Response(serializer.data) Of course I want to use the same logic for scenario, when I render just 1 Company object. -
if self.max_length is not None and not widget.is_hidden: AttributeError: 'EmailField' object has no attribute 'is_hidden'
when i run that programm it show if self.max_length is not None and not widget.is_hidden: AttributeError: 'EmailField' object has no attribute 'is_hidden'. when i run that programm it show if self.max_length is not None and not widget.is_hidden: AttributeError: 'EmailField' object has no attribute 'is_hidden'. when i run that programm it show if self.max_length is not None and not widget.is_hidden: AttributeError: 'EmailField' object has no attribute 'is_hidden'. when i run that programm it show if self.max_length is not None and not widget.is_hidden: AttributeError: 'EmailField' object has no attribute 'is_hidden'. when i run that programm it show if self.max_length is not None and not widget.is_hidden: AttributeError: 'EmailField' object has no attribute 'is_hidden'. when i run that programm it show if self.max_length is not None and not widget.is_hidden: AttributeError: 'EmailField' object has no attribute 'is_hidden'. when i run that programm it show if self.max_length is not None and not widget.is_hidden: AttributeError: 'EmailField' object has no attribute 'is_hidden'. when i run that programm it show if self.max_length is not None and not widget.is_hidden: AttributeError: 'EmailField' object has no attribute 'is_hidden'. when i run that programm it show if self.max_length is not None and not widget.is_hidden: AttributeError: 'EmailField' object has no attribute 'is_hidden'. when i … -
how to use my html in Django in a secure way?
I have made my html pages now I want to use them in Django but don't want to lose the design what I have made. Any secure way? -
Populate table entries in models.py
I am new with databases so maybe my thinking is flawed, but I would like to define a table with fixed entries. These entries would once be defined and then not changed. I thought it would make it easier in the development period, where I have to set up the whole database from scratch several times, that some fixed data is populated automatically from models.py. Is there a way in models.py to already populate the table with these entries? class Field(models.Model): name = models.CharField(max_length=200) created_timestamp = models.DateTimeField(auto_now_add=True) -
Property field in a django model is not serialized. How to fix?
I have the following model: def get_file_path(instance, filename): return 'files/{0}/{1}'.format(instance.user.username, filename) class File(models.Model): fid = models.UUIDField(primary_key=True, default=uuid.uuid4) user = models.ForeignKey(settings.AUTH_USER_MODEL) file = models.FileField(upload_to=get_file_path) when I try to serialize this model using for example serializers.serialize('json', File.objects.all()) I get: u'[{"model": "app_name.file", "pk": "45f616b4-d028-488e-83c5-878ce1028018", "fields": {"user": 1, "file": "files/username/filename.txt"}}]' I want the serialized json to also include the file field's url which file_obj.file.url returns so I added a property field like so: class File(models.Model): fid = models.UUIDField(primary_key=True, default=uuid.uuid4) user = models.ForeignKey(settings.AUTH_USER_MODEL) file = models.FileField(upload_to=get_file_path) def _get_file_url(self): "Returns file's url" return self.file.url url = property(_get_file_url) However property field url is still not serialized. So I tried to write a custom serializer for the model by extending serializers.ModelSerializer like so: class FileSerializer(serializers.ModelSerializer): class Meta: model = File fields = ('fid', 'user', 'file', 'url') which doesn't work and I get 'module' object has no attribute 'ModelSerializer'. is it because django doesn't have ModelSerializer class and only django rest_framwork does ? if so how do I solve this if I am using django only and not django rest framework ? Thanks. -
Python requests.POST is failing in Django
I have to make a redirection layer in Django. So any get or post request comes needs to be redirected to another server. Since Django Redirect doesn't allow for POST redirection, so we are using python requests module to make post request. So the Django request structure is : requests.post('http://localhost:8080/user/?query=1', auth=('user', 'pass'), data={'key':'value'}) It will be processed in the class based view of post request. class Redirect_Conf(View): def post(self, request, *args, **kwarfs): headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} res = requests.post('http://localhost:8000/configuration/?query=2', auth=('user', 'pass'), data={'key':'value'}) return HttpResponse("Data Received") However, I am getting ConnectionError: ('Connection aborted.', error(111, 'Connection refused')) Please remember that localhost:8080 and localhost:8000 are different servers running. What am I missing here? -
Django form post(AJAX) direct to somewhere else
i know my question is quite vague and also has been asked so many times(but i can't understand any of the solutions).what i want to go is to url search_res/save_tweet and pass data from template show_tweets.html in json format using AJAX. i think my ajax is not working. and when i press button it goes to somewhere http://127.0.0.1:8000/search_res/? I am new to both django and ajax. show_tweets.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Tweets Result</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> save_tweets = function(tweet_id,created_at,text,lang){ alert(tweet_id,created_at,text,lang); $.ajax({ type : 'POST', url : '/search_res/save_tweet/', dataType : 'json', data: { 'tweet_id' : tweet_id, 'created_at' : created_at, 'text' : text, 'lang' : lang }, success: function(data) { alert(data); } }); } </script> </head> <body> <h1 align="center">Tweets Results</h1> <ul> {% for k,v in json_d %} <div> {{ k }} : {{ v.full_text }} <form onsubmit="save_tweets('{{ v.id_str }} , {{ v.created_at }} , {{ v.full_text }} , {{ v.lang }}')">{% csrf_token %} <input type="submit" value="Toxic"/> </form> </div> {% endfor %} </ul> </body> </html> views.py def show_tweets(request): if request.GET['hashtag'] and request.GET['user']: template = loader.get_template('error.html') return HttpResponse(template.render({},request)) else: if request.GET['hashtag']: hashtag= request.GET['hashtag'] try: all_tweets = tweepy.Cursor(api.search, q=hashtag + ' -filter:retweets', tweet_mode='extended').items(100) except: print("error") d = {} cnt = 0 for … -
django clean_data.get is None
I want to make some fields of thwe form required based on the "is_seller" dropdown list . but seller = cleaned_data.get("is_seller") returns None ! these are my codes : models.py class UserProfileInfo(models.Model): user=models.OneToOneField(User,related_name='profile') companyname=models.CharField(blank=True,null=True, ],max_length=128,verbose_name=_('companyname')) phone_regex = RegexValidator(regex=r'^\d{11,11}$', message=_(u"Phone number must be 11 digit.")) cellphone = models.CharField(validators=[phone_regex], max_length=17,verbose_name=_('cellphone')) tel = models.CharField(blank=True,null=True,validators=[phone_regex], max_length=17,verbose_name=_('tel')) state=models.CharField( max_length=128,verbose_name=_('state')) city=models.CharField( max_length=128,verbose_name=_('city')) address=models.CharField(blank=True,null=True, max_length=264,verbose_name=_('address')) is_seller=models.CharField(blank=True,null=True, max_length=2,verbose_name=_('seller')) def __str__ (self): return self.user.username class Meta: verbose_name=_('UserProfileInfo') verbose_name_plural=_('UserProfileInfos') forms.py : class UserProfileInfoForm(forms.ModelForm): CHOICES = (('0','buyer'), ('1','seller'), ('2','both')) is_seller = forms.CharField(widget=forms.Select(choices=CHOICES),label=_('title')) companyname=forms.CharField(required=False,widget=forms.TextInput(attrs={'class':'form-control' ,'style': 'width:60%', 'white-space':'nowrap'}),label=_('companyname')) cellphone = forms.CharField( widget=forms.TextInput(attrs={'class':'form-control' ,'style': 'width:60%'}),label=_('cellphone')) tel = forms.CharField( widget=forms.TextInput(attrs={'class':'form-control' ,'style': 'width:60%'}),label=_('tel')) state=forms.CharField(widget=forms.TextInput(attrs={'class':'form-control' ,'style': 'width:60%'}),label=_('state')) city=forms.CharField( widget=forms.TextInput(attrs={'class':'form-control' ,'style': 'width:60%'}),label=_('city')) address=forms.CharField(required=False, widget=forms.TextInput(attrs={'class':'form-control' ,'style': 'width:100%'}),label=_('address')) class Meta(): model=UserProfileInfo fields=('companyname','tel','cellphone','state','city','address','is_seller') def clean_companyname(self): cleaned_data = super(UserProfileInfoForm, self).clean() seller = cleaned_data.get("is_seller") print(">>>>>>>>>>>>>>>>>>"+ str(seller)) if seller!=0: raise forms.ValidationError(u"Required.") return cleaned_data -
How can I display a TemporaryUploadedFile from Django in HTML as an image?
In Django, I have programmed a form in which you can upload one image. After uploading the image, the image is passed to another method with the type TemporaryUploadedFile, after executing the method it is given to the HTML page. What I would like to do is display that TemporaryUploadedFile as an image in HTML. It sounds quite simple to me but I could not find the answer on StackOverflow or on Google to the question: How to display a TemporaryUploadedFile in HTML without having to save it first, hence my question. All help is appreciated. -
Django: File is only saved when created in admin page
I have a very odd problem: When I create an object for my Custom model in the admin page everything works fine. However, when I fill in the same input in my custom Form in the website it does not work. The problem is the file field: When I input a valid file in the form in the website, it is not saved and so I get a validation error (see clean() function below). Because there is no self.file even when I upload a file. In the admin page it works. Where is the error? Background: Here is my Custom model: # In my models.py class Custom(models.Model): file = models.FileField(max_length=45, upload_to=get_filepath, blank=True) file_info = models.CharField(max_length=50, blank=True) ... def clean(self): if self.file_info and not self.file: raise ValidationError("...") And here is my custom CreateView: class CustomCreate(CreateView): model = Custom form_class = CustomForm def form_valid(self, form): self.object = form.save(commit=False) self.object.user = self.request.user self.object.save() return super().form_valid(form) -
Accessing to Odoo data with Django REST API
I'm trying to build a Django REST API e-commerce by retrieving data from Odoo, for that I need first of all to connect to odoo database. Any idea of how to do that !? PS: with XML-RPC it was easy but I want to to work with REST Thanks a lot. -
Djano celery for long running task and download the file
I am developing a django app and my app need to user to upload the urls in excel files. On server side i am reading the excel file by each cells, extracting the news article of the urls and generating the summary of article. this process can take upto 5-10 minutes for the long list of urls.I am using celery for managing the long running task but somehow server is giving me error 500 - Internal server error after 2 min without completing the task. enter code here Setting.py BROKER_URL = 'django://' CELERY_ACCEPT_CONTENT = ['json'] CELERY_TASK_SERIALIZER = 'json' CELERY_RESULT_SERIALIZER = 'json' celery_app.py from __future__ import absolute_import import os import django from celery import Celery from django.conf import settings from kombu import serialization serialization.registry._decoders.pop("application/x-python-serialize") os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'news.settings') django.setup() app = Celery('news') app.config_from_object('django.conf:settings') app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) summary.py @shared_task from celery import shared_task def WritesummaryfromArticleToExcel(input_file,noofline,lang): try: data=False wb = xlrd.open_workbook(file_contents=input_file.read()) wb_sheet=wb.sheet_by_index(0) df=pd.DataFrame(columns=['Full Article','Summary']) for rownum in range(0, wb_sheet.nrows): # for colnum in range(0,1): try: rw=wb_sheet.cell_value(rownum,0) if type(rw)==float or type(rw)==int: rw= str(rw) # if len(rw)>15000: data=True articletext=rw # nooflines=request.data["numberofline"] lantext="" lantexttemp= articletext.split('\n')[0:2] for l in lantexttemp: lantext=lantext +"\n" +l lan=detect(lantext) -
Django: How to delete token after it is used?
In Django, I am generating tokens for account activation. Here is the actual code: 'uid': urlsafe_base64_encode(force_bytes(user.pk)), 'token': default_token_generator.make_token(user), The problem is once it is used it is still valid. Django password reset mechanism (password_reset_confirm() view) somehow invalidates the token after it is used. How can I do the same? -
file upload in angular 2 through django REST
I am trying to file upload in angular 2 through django. I have done the below mentioned code but I am stuck now. I have the following view in django (views.py) def upload_csv(request): mydb = MySQLdb.connect(host='localhost', user='root', passwd='root', db='testtpo') cursor = mydb.cursor() csv_data = csv.reader(file('testingupload.csv')) for row in csv_data: cursor.execute('INSERT INTO testcsv(names, \ classes, mark )' \ 'VALUES("%s", "%s", "%s")', row) mydb.commit() cursor.close() print ("Done") the following dataupload.component.ts import { Http, Headers, Response } from '@angular/http'; import { Observable } from 'rxjs/Rx'; import { OnInit, ElementRef, ViewChild } from '@angular/core'; import { FileUploader, FileItem } from 'ng2-file-upload'; import { BrowserModule } from '@angular/platform-browser'; import { Component, HostListener } from '@angular/core'; import { environment } from '../../../../environments/environment'; import { Services } from '../../../../services/services'; import 'rxjs/add/operator/toPromise'; import 'rxjs/Rx'; @Component({ selector: 'dataupload', templateUrl: './dataupload.html', }) export class NewComponent1 { constructor(private http: Http) { } public modelUploader:FileUploader = new FileUploader({url: environment.serverUrl+'/api/upload_csv'}); public uploadFile(file, fileType: string): void { if(fileType == 'model') { this.modelUploader.uploadItem(file); } else { console.log("It is not happening"); } } } and the following component.html <div class="dropdown-content"> <div class="row"> <div class="col-md-3"> <h3 style="margin-left: 40px; margin-top: -30px ">Model</h3> <input type="file" class="form-control" ng2FileSelect [uploader]="modelUploader" /><br/> </div> <div class="col-md-8" style="margin-bottom: 40px; margin-left: 30px; "> <h4 style="margin-bottom: … -
Mopidy Installation Error
Installing on Mac High Sierra, through a fresh installation of Brew, following the instructions on the website to the letter. It throws this error; Traceback (most recent call last): File "/usr/local/bin/mopidy", line 5, in <module> from pkg_resources import load_entry_point File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3095, in <module> @_call_aside File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3081, in _call_aside f(*args, **kwargs) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3108, in _initialize_master_working_set working_set = WorkingSet._build_master() File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 658, in _build_master ws.require(__requires__) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 959, in require needed = self.resolve(parse_requirements(requirements)) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 846, in resolve raise DistributionNotFound(req, requirers) pkg_resources.DistributionNotFound: The 'Mopidy==2.1.0' distribution was not found and is required by the application Clearly it's not finding the distro even though it's in the default location with all my other packages. Any idea why? -
Nested django form for foreignkey model
I have two models that look something like class Address(models.Model): line1 = models.CharField(max_length=128, help_text="Address Line 1") city = models.CharField(max_length=128) state = USStateField() zipcode = USZipCodeField() class Company(models.Model): name = models.CharField(max_length=100) address = models.ForeignKey('Address', on_delete=models.PROTECT) The actual classes have many more fields and so I would like to automatically generate forms for creating a new company, and so I am using Django's ModelForm. Howevere, I would like to let the user choose between choosing an existing address or creating a new one all in one form. Is there a way to nest a AddressModelForm inside of a ComanyModelForm? class CreateAddressForm(forms.ModelForm): class Meta: model = Address exclude = [] class CreateCompanyForm(forms.ModelForm): class Meta: model = Company exclude = [] # Use nested form for address # custom widget maybe? How should I approach this problem? Thanks! -
i have two projects in django i can not open admin site for my second project,but i can open for my first project,can any one help me
AttributeError at /admin/ 'WSGIRequest' object has no attribute 'user' Request Method: GET Request URL: http://127.0.0.1:8000/admin/ Django Version: 2.0.2 Exception Type: AttributeError Exception Value: 'WSGIRequest' object has no attribute 'user' Exception Location: C:\Users\vaaz\Desktop\venv\lib\site-packages\django\contrib\admin\sites.py in has_permission, line 186 Python Executable: C:\Users\vaaz\Desktop\venv\Scripts\python.exe Python Version: 3.4.3 Python Path: ['C:\Users\vaaz\website1', 'C:\Windows\system32\python34.zip', 'C:\Users\vaaz\Desktop\venv\DLLs', 'C:\Users\vaaz\Desktop\venv\lib', 'C:\Users\vaaz\Desktop\venv\Scripts', 'C:\Python34\Lib', 'C:\Python34\DLLs', 'C:\Users\vaaz\Desktop\venv', 'C:\Users\vaaz\Desktop\venv\lib\site-packages'] Server time: Mon, 12 Mar 2018 10:21:49 +0000 -
Error django permissions
I hav an error with user permissions in django. This view register collaborator blog, create the user and add the permission because appear in auth_user_user_permissions database table, but when user login to admin panel django doesn't appear any model to create. database table django admin view def work_with_our(request): if request.method == 'POST': user_form = forms.CustomRegisterColaboratorForm(data=request.POST) if user_form.is_valid(): blog_colaborator = user_form.cleaned_data.get('blog_colaborator') user = user_form.save(commit=False) user.is_staff = True user.save() if blog_colaborator == True: permissions = Permission.objects.get(name='Can add post') user.user_permissions.add(permissions) else: user_form = forms.CustomRegisterColaboratorForm() return render(request, 'work_with_our.html', { "user_form": user_form }) Please help because i don't know which is the problem. Thanks in advance. -
Creating an abstract model for
I deleted my previous question, since it was terribly worded and my non-working examples were just confusing. I have a series of models, such as Vehicle, Computer, Chair, and whatnot. My goal is to be able to attach an arbitrary number of images to each of them. That's my question: what's the best design pattern to achieve this? What I've tried so far is to create an abstract model, AttachedImage. I then inherit from this model, and create more specific models, like VehicleImage, ComputerImage, or ChairImage. But this doesn't feel like the right way to pursue this. -
NameError: name 'request' is not defined when trying to request user.connection and user.dn
I am trying to request the connection and the dn of the logged in user for my webapp. I currently work with LDAP and I have this ModifiableConnection class in my modify.py. A user should edit his name in a GUI-based app, and it should automatically be changed in the ldap. from ldap3 import Server, Connection, ALL, MODIFY_REPLACE class ModifiableConnection(object): def __init__(self, connection, dn): self.conn = connection self.dn = dn def modify_attr(self, attrname, values): modlist = [(MODIFY_REPLACE, attrname, values)] self.conn.modify(dn, self.conn.user, modlist) @property def firstname(self): pass @firstname.setter def firstname(self, val): self.modify_attr('givenName', [val]) @property def lastname(self): pass @lastname.setter def lastname(self, val): self.modify_attr('sn', [val]) mod_con = ModifiableConnection(request.user.connection, request.user.dn) This is how I call it (views.py): def edit_profile(request): if request.method == 'POST': form = EditProfileForm(request.POST, instance=request.user) if form.is_valid(): mod_con = ModifiableConnection(request.user.connection, request.user.dn) mod_con.firstname = request.POST['first_name'] mod_con.lastname = request.POST['last_name'] form.save() return redirect(reverse('accounts:view_profile')) else: form = EditProfileForm(instance=request.user) args = {'form': form} return render(request, 'accounts/edit_profile.html', args) and this is the error I get: mod_con = ModifiableConnection(request.user.connection, request.user.dn) NameError: name 'request' is not defined The error is in my modify.py. I do not really know if I have to import anything or If I am missing something. If you have any idea, do not hesitate to post … -
Django model inheritance with arguments
I'm trying to define a base, abstract model for "attached images", that I can then hook up to any other model with a foreign key relation to it. My idea is to use an argument that defines which Model will the AttachedImage model be hooked up to through a ForeignKey relation. I have my abstract model defined like so: class AttachedImage(models.Model): parent_object = None uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) author = models.ForeignKey(User, on_delete=models.CASCADE) image = models.ImageField(upload_to=image_path) # TO FIX: añadir la ruta is_default = models.BooleanField(default=False) class Meta: abstract = True def __init__(self, parent_model): super().__init__(self) self.parent_object = models.ForeignKey(parent_model, on_delete=models.CASCADE) And then I try to inherit from it like this: class VehicleImage(AttachedImage(Vehicle)): pass But when I try to run my migrations, I get this error: class VehicleImage(AttachedImage(Vehicle)): TypeError: __init__() takes 2 positional arguments but 4 were given First off, why am I getting this error? And second, and much more important: is this the right pattern to achieve my goal? -
sublime text: Django how to view source of imports
I have django project inside a python virtualenv. In one of my models i have: from django.contrib.auth.models import AbstractUser, BaseUserManager I want to see the source code of AbstractUser and BaseUserManager is it possible that sublime text knows where they are located and show me