Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
pyInstaller and Django : Couldn't import Django
I am working on an django application and have kind of finish coding it. This app is designed to be used by someone else and as she isn't so familiar with command line or so, i would like to create an executable (with pyInstaller) that start the localhost server and open the page on a browser (I don't nee to deploy it online or so, the localhost is sufficient). To do so, I've created a python script that calls the command python3 manage.py runserver and then open the localhost page in a browser. I then called the command pyinstaller myApp.py (with myApp.py the python script containing the 2 commands above) and then also the command pyinstaller TestMACB2.spec (I'm not sure I need this command but anyway I now have an executable that tries to run those two commands). The opening of the web page works well but I dont know why for the command to start the server, i have this error: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment? I do have django installed and when I start the server with the command in … -
Django/Python "django.core.exceptions.ImproperlyConfigured: Cannot import 'contact'. Check that '...apps.contact.apps.ContactConfig.name' is correct"
Hopefully you all can give me a hand with this... my work flow: |.vscode: |capstone_project_website: | -_pycache_: | -apps: | -_pycache_ | -accounts: | -contact: # app that is throwing errors | -_pycache_: | -migrations: | -_init_.py | -admin.py | -apps.py | -forms.py | -models.py | -test.py | -urls.py | -views.py | -public: | -_init_.py | -templates: # all my .html | -_init_.py | -asgi.py | -settings.py | -urls.py | -views.py | -wsgi.py |requirements: |scripts: |static: |.gitignore |.python-version |db-sqlite3 |docker-compose.yml |Dockerfile |Makefile #command I am running |manage.py |setup.cfg my Installed apps in capstone_project_website/settings.py: INSTALLED_APPS = [ "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", "capstone_project_website.apps.accounts", "capstone_project_website.apps.contact", ] my capstone_project_website/apps/contact/apps.py: from django.apps import AppConfig class ContactConfig(AppConfig): name = "contact" the command I am running is in my Makefile: compose-start: docker-compose up --remove-orphans $(options) When I run make compose-start I get this message from my Terminal: make compose-start docker-compose up --remove-orphans Docker Compose is now in the Docker CLI, try `docker compose up` Starting django-website_postgres_1 ... done Starting django-website_db_migrate_1 ... done Starting django-website_website_1 ... done Attaching to django-website_postgres_1, django-website_db_migrate_1, django-website_website_1 db_migrate_1 | Traceback (most recent call last): db_migrate_1 | File "/usr/local/lib/python3.7/site-packages/django/apps/config.py", line 244, in create db_migrate_1 | app_module = import_module(app_name) db_migrate_1 | File "/usr/local/lib/python3.7/importlib/__init__.py", … -
Dynamic Forms with Logical Operators
I am currently stuck with a task where I need to create a form using HTML and JavaScript. I know it is very simple but the trick comes as second part. Think of form that is dynamic and over it uses logical operators such as "And" & "OR" operators to club the options selected by the user. I am really confused with this task. I can create dynamic dropdown selection form with JS with no problem but I have no idea how can I create a form that can club those selections with Logical operators also I have no idea how to handle DELETE for the form fields in between. I am fetching the dropdown meta-data from an API made over Django. I need to get the form data in post request so that I can create a string of SQL query. I know there will be many suggestion of how I can do it directly with Django but the fact is I need to create the SQL query string and not to run it on the database. Example of SQL Query String: SELECT first_name, last_name, salary FROM employees WHERE salary = 7000 OR salary = 8000 ORDER BY salary; … -
Pulling data associated with user account in Django
I'm creating a model in Django with the following syntax. The model has a foreign key of registered users. However, I want to serialize this model that will return a Json file only associated with the logged in user. Can you give your recommendations? Or is there an alternative way to extract the information from the model using different approach? class Education(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) school = models.CharField(max_length=50) year = models.CharField(max_length=10) -
Keyerror 'include' on migrating models to sql server
I have a django application and have backend as Microsoft sql server. For that, i have installed "pip install django-mssql-backend". I have extended User model and added one additional field of confirm_password and same i am migrating, but i am getting below error Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial...Traceback (most recent call last): File "manage.py", line 22, in <module> main() File "manage.py", line 18, in main execute_from_command_line(sys.argv) File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\django\core\management\__init__.py", line 419, in execute_from_command_line utility.execute() File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\django\core\management\__init__.py", line 413, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\django\core\management\base.py", line 354, in run_from_argv self.execute(*args, **cmd_options) File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\django\core\management\base.py", line 398, in execute output = self.handle(*args, **options) File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\django\core\management\base.py", line 89, in wrapped res = handle_func(*args, **kwargs) File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\django\core\management\commands\migrate.py", line 246, in handle fake_initial=fake_initial, File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\django\db\migrations\executor.py", line 117, in migrate state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial) File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\django\db\migrations\executor.py", line 147, in _migrate_all_forwards state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial) File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\django\db\migrations\executor.py", line 227, in apply_migration state = migration.apply(state, schema_editor) File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\django\db\migrations\migration.py", line 126, in apply operation.database_forwards(self.app_label, schema_editor, old_state, project_state) File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\django\db\migrations\operations\models.py", line 531, in database_forwards getattr(new_model._meta, self.option_name, set()), File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\sql_server\pyodbc\schema.py", line 156, in alter_unique_together self.execute(sql) File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\sql_server\pyodbc\schema.py", line 861, in execute sql = str(sql) File "C:\Users\RJhaveri\Documents\Ronak\SourceCode\Development\django\retailAudit\lib\site-packages\django\db\backends\ddl_references.py", line 201, in __str__ … -
domain name problem with django app dployed with heroku
i'm trying to add adsense to my django web app but i can't activate it because of "no content website" error. i'm using heroku to publish my webapp and i've seen that my website work with this way "mywebsite.herokuapp.com" but doesn't work with "www.mywebapp.herokuapp.com" and it's probably because of that i had this error. when i'm trying to acces to "www.mywebapp.com" my browser show me a page with that error : inaccessible website , DNS_PROBE_POSSIBLE in my settings.py file, the allowed_host line contains "mywebapp.com", "www.mywebapp.com" did somebody can say to me how to fix that in heroku web app's settings eventually or directly in my project files. thank you for helping me ! -
django rest framework: TypeError: unhashable type: 'list'
I can't find the bug please help I also tried this with custom models didn't worked. As you can see I'm tring to do PUT, DELETE and GET opration. Error Message Exception Type: TypeError at /api/user/sagar/Exception Value: unhashable type: 'list' views.py class ProfileApiView(generics.RetrieveUpdateDestroyAPIView): serializer_class = serializer.RegisterUserSerializer permission_classes = [IsAuthenticated, ] lookup_field = ['username'] def get_queryset(self): return User.objects.filter(username=self.request.user) serializer.py class RegisterUserSerializer(serializers.ModelSerializer): email = serializers.EmailField(required=True, validators=[ UniqueValidator(queryset=User.objects.all())]) username = serializers.CharField(required=True, validators=[ UniqueValidator(queryset=User.objects.all())]) password = serializers.CharField( write_only=True, required=True, validators=[validate_password]) class Meta: model = User fields = ['email', 'username', 'password'] def create(self, validated_data): user = User.objects.create( email=validated_data['email'], username=validated_data['username'] ) user.set_password(validated_data['password']) user.save() return user -
Why there is a small circle on my django folder
https://images.app.goo.gl/vvJSsYovFXFdtCfK7 Like these on dedo and on migration -
Django.session: how to determine the start of a Django user session?
My site have second level pages. User can get there from first level page with form. Data of the form stored in request.session. It work ok if the user get second level page normally - from first level page . Problems appear if user get the second level page directly - from Google search or his own benchmarks. In that case i need clear the request.session to deafult, but only in that case. Django put request.session data in cookies, and stores form data to user if he coming second time to the site. I don`t need it in the case the user come from external side. Can i determine that the page get by user first time in the session? Or he comes directly on this second level pages, not from first level page? -
How to avoid/eliminate Integrity error on form fields
I have a form that displays details but when I bring in a filter it fails. Where is the mistake?? The error is here File "C:\Users\FR GULIK\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\db\backends\sqlite3\base.py", line 413, in execute return Database.Cursor.execute(self, query, params) django.db.utils.IntegrityError: NOT NULL constraint failed: libman_issue.book_id_id This is the form class IssueForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(IssueForm, self).__init__(*args, **kwargs) self.fields['book_id'] = forms.ModelChoiceField( queryset=Books.objects.filter(no_of_books=1),label='Available books') class Meta: model = Issue fields = ['borrower_id',] When I have the form as shown below it works. class IssueForm(forms.ModelForm): class Meta: model = Issue fields = ['borrower_id','book_id'] -
'Default' value error after makemigrations command
I am working on a django blog project. Having some issue in models.py file after running 'py manage.py makemigrations' I used this code: publish_date = models.DateTimeField( auto_now_add=True) update_date = models.DateTimeField(auto_now=True) Error I am getting: You are trying to add the field 'publish_date' with 'auto_now_add=True' to blog without a default; the database needs something to populate existing rows. When I used This code: publish_date = models.DateTimeField( auto_now_add=True, default=True) update_date = models.DateTimeField(auto_now=True, default=True) Error Now: App_Blog.Blog.publish_date: (fields.E160) The options auto_now, auto_now_add, and default are mutually exclusive. Only one of these options may be present. App_Blog.Blog.update_date: (fields.E160) The options auto_now, auto_now_add, and default are mutually exclusive. Only one of these options may be present. WHAT IS THE SOLUTION? -
AssertionError: 403 != 200 in APITestCase
i have this url: path('post/',views.PostListCreateAPIView.as_view(),name='post_lc'), with an app-name : app_name='blog_api' and trying to test it like : class TestPost(APITestCase): def test_view_posts(self): response = self.client.get('blog_api:post_lc') self.assertEqual(response.status_code, status.HTTP_200_OK) and even with url directly : class TestPost(APITestCase): def test_view_posts(self): response = self.client.get('/api/post/') self.assertEqual(response.status_code, status.HTTP_200_OK) the url and the views, are functioning works well, but the test keep giving the error AssertionError: 403 != 200 and i just can't figure out why, thanks for the help Update i forgot that i had IsAuthenticated, which caused the 403 error REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.IsAuthenticated', ]} -
using html input type=datetime-local won't insert in Django model having datetime field
I am not using Django forms but instead using the normal ones with html and bootstrap. I have an input field of type datetime-local which the user can select for a particular event to happen. However, I am unable to insert in in my Django model due to timezone error. I get this error message: DateTimeField %s received a naive datetime (%s ) How do I fix this pleaaaase? html code: <label>Scheduled Date and Time<label> <input type="datetime-local" id="test_datetime" name="test_datetime" id="test_datetime"> views.py def add_test(request, pid): if request.method == 'POST': test_datetime = request.POST['test_datetime'] and it continues.... -
My Session is getting auto cleared after i receive a get request from paypal in django
I am using paypalrestsdk for accepting payments def process_subscription(request, subscription_type): print(request.session.load()) # output : {'name': 'Abhay', 'password': 'k2jk2332k'} # code to process payment if payment.success() return redirect(redirect_url) return redirect(reverse('error_page')) @csrf_exempt def success(request): print(request.session.load()) # here output is {} blank return render(request, 'success.html') It don't works even if i have removed @csrf_exempt, i have searched on google but did'nt found solution to it... Django Version : 3.2 PaypalRestSdk version : 1.13.1 -
NotWritableError: The current user does not have write permissions to a required path
NotWritableError The current user does not have write permissions to a required path. -
Should I render images from other sites instead of using sevices like AWS storage in my web app?
I am developing a blogging site which has a lot of images. Instead of storing all of the images in the database or AWS etc. should I render the image from another site using the share link? I was thinking of storing the images in Google drive and rendering them using the share link. Will it work? -
unable to see classes in my django admin site
i created 2 classes in my models.py which i can access through shell but cant see it on my /admin page. i used python manage.py migrate and makemigrations my models.py: from django.db import models class Company(models.Model): name = models.CharField(max_length=200) def __str__(self): return self.name class Product: name = models.CharField(max_length=200) company = models.ForeignKey(Company, on_delete=models.CASCADE) def __str__(self): return self.name my admin.py: from django.contrib import admin from.models import Company, Product admin.register(Company) admin.register(Product) -
Dropdown list always disabled in a bootstrap model?
I have a drop down list inside a model but couldn't make is work properly , It's always disabled I managed to make it work by adding the script: <script> $(document).ready(function() { $("#id_department").select2({ dropdownParent: $("#modalContact") }); }); </script> but when I add the code the drop change to a normal text like the image -
Django DRF best practices to return response headers on every request
I am using Django DRF. What is the best way to add the below response headers as part of every request Cache-control: no-store, max-age=0 Pragma: no-cache Strict-Transport-Security: max-age=7776000; includeSubDomains X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Frame-Options: DENY Ideally I want to configure this in one place. -
Direct assignment to the forward side of a many-to-many set is prohibited. Use item.set() instead
I am having an issue with adding a watchlist using django. models.py: class Listings(models.Model): Name = models.CharField(max_length=64) seller = models.CharField(max_length=64) starting_bid= models.IntegerField() description=models.TextField() time=models.DateTimeField(auto_now_add=True) category = models.CharField(max_length=64) image_link = models.CharField(max_length=200, default=None, blank=True, null=True) class Watchlist(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) item = models.ManyToManyField(Listings) views.py: @login_required(login_url='/login') def watchlist(request,id): item_to_save=Listings.objects.get(id=id) #query to check if the item already exists in watchlist if Watchlist.objects.filter(user=request.user,item=item_to_save).exists(): return render(request,"auctions/listing.html",{"message":"You already have it in your watchlist"}) else: watchlist_obj=Watchlist() watchlist_obj.user=request.user watchlist_obj.item=item_to_save watchlist_obj.save() return render(request, "auctions/listing.html",{"message":"successfully added to watchlist"}) please help me. I have looked at other stackoverflows regarding similar questions but wasn't able to solve my issue -
how to add google adsens to an django web app
i'm trying to add google adsense to my django webapp but when i try i've got this error "website have no content". if somedbody done this before can you explain to me please. i've seen maybe solution like sekizai or django ads to install in a project but i'm not able to install it because i don't understand everything. maybe i don't put tag at the good place in my template but there's not a lot of informations on the sekizai website and it look to be necesarry to use adsense in django app. thanks for help. -
django how to set value into hidden input
I have script which allows user to select only one div button , if car is selected will be writhed by submit form button, but when its not hided and I write car example in the input it works as I want, also I can active button style, but when its hided cant see it takes or not, so please here is my little script how can I get this div button name into hidden input--- sorry for my ruined english {% block javascript %} <script> function changeClass(id) { if ($('#' + id).hasClass('answerBtnsSelected is-danger')) $('#' + id).removeClass('answerBtnsSelected is-danger'); else { if ($('.answerBtnsSelected').length < 1) { $('#' + id).addClass('answerBtnsSelected is-danger'); } else { alert('Only three buttons can be selected.'); } } $(".subtn").click(function () { $("#subtn").text($(id).text()); $("#subtn").val($(id).text()); $("#id_mtags").val($(id).text()); $("#MainTags").submit(); console.log($('#id_mtags').val()) }); } </script> {% endblock %} <form method="post" action="" enctype="multipart/form-data" role="form" id="MainTags"> {% csrf_token %} <div class="columns is-mobile"> <div class="column"> <div class="button" type="button" id="car" value="car" name="car" onclick="changeClass(this.id);"> car </div> </div> <div class="column"> <div class="button" type="button" id="home" value="home" name="home" onclick="changeClass(this.id);"> home </div> </div> <div class="column"> <div class="button" type="button" id="phone" value="phone" name="phone" onclick="changeClass(this.id);"> phone </div> </div> <div class="column"> <div class="button" type="button" id="apple" value="apple" name="apple" onclick="changeClass(this.id);"> apple </div> </div> </div> <h3 class="title is-1"></h3> {{ form.hiddeninput}} … -
show user different text from database on every login in django
can we do this if user login in a page and gets some text from database and after that user login again and again then user get different text from same database. thanks in advance and yet I am trying right like i get data from database and append it into list and show on html div then next and back button but thats not I want. and this code is wrong which i am showing below <div class="slider"> {% for a,b in text_list2.items %} <div class="div{{a}}" id="p" values="{{a}}"> <p>{{b}}</p> </div> {% endfor %} <button class="btn" onclick="prev()">Prev</button> <button class="btn" onclick="next()">Next</button> </div> <script type="text/javascript"> var slider_img = document.querySelector('.slider-img'); var values = document.getElementById('p').value; var images = []; for (var i = 1; i < 5; i++) { images.push(i); } var i = 0; console.log(values) function prev(){ if(i <= 0) i = images.length; i--; return setImg(); } function next(){ if(i >= images.length-1) i = -1; i++; return setImg(); } function setImg(){ return slider_img.setAttribute('src', images[i]); } </script> -
Django bulk create auto fields
I have two models and want migrate all data from one to another. For simulating problem, suppose the models below: from django.db import models class Book: name = models.CharField(max_length=100) is_archived = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now_add=True) class BookArchived: name = models.CharField(max_length=100) created_at = models.DateTimeField(auto_now_add=True) The code for migrations is: book_objs = [] for archived_book in BookArchived.objects.all(): book_objs.append(Book(name=archived_book.name, is_archived=True, created_at=archived_book.created_at)) Book.objects.bulk_create(book_objs) The problem with this code is that, although I explicitly set created_at field (created_at=archived_book.created_at), django inserts all of them with current time. I know that if pk field is explicitly set (id=archived_book.id), new objects will preserve original timestamps. But there is already overlapping ids in database, so this approach will create another problem. How can I preserve original created_at values for BookArchived instances? -
Displaying data from models to index.html in django
i want to display the data of models to html template, i've tried every thing but still i'm unable to get what i am look for. App name is Home Here is the code. Home/models.py from django.db import models class message(models.Model): your_message = models.CharField(max_length=50) def __str__(self): return self.your_message Home/views.py from django.shortcuts import render, HttpResponse from .models import message def index(request): return render(request, 'Home/index.html') In my template index.html i am using this code to display the data from models. {% for x in message %} <h2> {{ x.your_message }} </h2> {% endfor %}