Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Can id field in django models be the same with two app instances running?
I don't understand well, how does django's autofield work... If I will run two app instances using gunicorn, will it be possible that my models get same autofield id? I have a model Message and I want to check it's instance's id, but I want to be absolutly sure, that the ids are unique and are going by adding order. -
How to store images like Images API
Hi this my model for create simple member already searched for several places and until now I haven't figured out how I can store the directory of my image next to my image field. class Member(models.Model): with open(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))+'/api/data/states.json') as s: states_json = json.load(s) STATES = [(str(state["nome"]), str(state["sigla"])) for state in states_json] name = models.CharField(max_length=100, null=True, blank=True, verbose_name='Nome') image = models.ForeignKey( "wagtailimages.Image", blank=False, null=True, related_name="+", on_delete=models.SET_NULL, verbose_name='Imagem do membro', ) role = models.CharField(max_length=35, null=True, blank=True, verbose_name='Cargo') city = models.CharField(max_length=30, null=True, blank=True, verbose_name='Cidade') state = models.CharField( verbose_name='Estado', max_length=19, choices=STATES, default=('SP'), ) created = models.DateField(default=timezone.now, verbose_name='Atualizado') modified = models.DateField(default=timezone.now, verbose_name='Modificado') panels = [ FieldPanel("name"), ImageChooserPanel("image"), FieldPanel("role"), FieldPanel("city"), FieldPanel("state"), FieldPanel("created"), FieldPanel("modified"), ] def __str__(self): return self.name class Meta: verbose_name = 'Membro' verbose_name_plural = 'Membros' This work normally but how to store image informations like Wagtail Images API? Example: "detail_url": "http://localhost/api/v2/images/2/", "download_url": "/media/original_images/l8GlI3V.jpg" This my JSON from API [ { "id": 6, "name": "Gabriel", "role": "Desenvolvedor", "image": 4, "city": "Itapetininga", "state": "São Paulo", "created": "2020-04-26", "modified": "2020-04-26" } ] Thanks for help!!! -
Django project "pip install -r requirements.txt" error
I have a requirements.txt that looks like this: appdirs==1.4.3 asn1crypto==1.1.0 astroid==2.3.1 attrs==19.2.0 black==19.3b0 cffi==1.12.3 Click==7.0 colorama==0.4.1 cryptography==2.7 dj-database-url==0.5.0 Django==3.0.4 django-heroku==0.3.1 django-rest-knox==4.1.0 djangorestframework==3.10.3 gunicorn==19.9.0 isort==4.3.21 lazy-object-proxy==1.4.2 mccabe==0.6.1 psycopg2==2.8.3 pycparser==2.19 pylint==2.4.2 pytz==2019.3 six==1.12.0 sqlparse==0.3.0 toml==0.10.0 typed-ast==1.4.0 whitenoise==4.1.4 wrapt==1.11.2 I tried to install the requirements after I activated my virtualenv, but it gave me this error I noticed that at the end, it's saying "Microsoft Visual C++ 14.0 is required". Do I need to install Visual C++ or what's the solution here? -
Django: KeyError at / 'slug'
I'm trying to redirect user to a post according to the slug value. I'm using django-autoslug to populate the slug automatically based on the title. I'm trying to capture the slug value in sl variable however I'm getting KeyError at / 'slug' error.urls.py urlpatterns = [ path('', views.index), path('<slug:slug>/', views.PostDetail.as_view(), name='post_detail'), ] models.py from django.db import models from django.template.defaultfilters import slugify from autoslug import AutoSlugField class express_publish(models.Model): title=models.CharField(max_length=200) slug = AutoSlugField(populate_from='title',unique=True) author=models.CharField(max_length=50) body=models.TextField() time=models.DateTimeField(auto_now_add=True) def __str__(self): return self.title views.py from django.shortcuts import render,redirect from django.views import generic from .models import * from .forms import * def index(request): all_publish=express_publish.objects.all() form=express_publishForm() if request.method=="POST": form=express_publishForm(request.POST) if form.is_valid(): form.save() sl=form.cleaned_data['slug'] return redirect('/'+sl) context={'all_publish':all_publish,'form':form} return render(request,'publish/index.html',context) class PostDetail(generic.DetailView): model = express_publish template_name = 'publish/post_detail.html' -
Django: saving a User in ManyToManyField
What I am trying to do is to allow the authenticated users to give a like to an article. models.py: class NewsItem(models.Model): heading = models.CharField(max_length=550, blank = False) news_body = models.TextField(blank = True) ... likes = models.ManyToManyField(User, blank = True) views.py: def newsitem_slug(request, newsitem_id, slug): newsitem = get_object_or_404(NewsItem, pk=newsitem_id, active = 1) ... # Processing Likes: if request.method == 'POST' and request.POST.get('newsitem_like'): form = LikesForm(request.POST, instance=newsitem) if form.is_valid(): user = User(id=request.user.id) if user not in newsitem.likes.all(): newsitem.likes.add(user) else: newsitem.likes.remove(user) ... forms.py: class LikesForm(ModelForm): class Meta: model = NewsItem fields = ['likes',] I get an error when adding a like: Cannot add "<User: >": instance is on database "default", value is on database "None" It is recommended to save both a user and an article before using the add method, but it does not seem to be working in my case. What can be done about that? -
How to use class which defined below in Python 3.6?
I need to request class "Product" in class "Collection" below to create a Many-to-Many connection. But the compiler says that the name "Product" is not defined. Are there any possible ways to do it? class Collection(models.Model): products = models.ManyToManyField(Product, blank=True, on_delete=models.CASCADE) class Product(models.Model): collection = models.ManyToManyField(Collection, blank=True, on_delete=models.CASCADE) I just need to put "Product" in "Collection" and vice versa. -
Django queryset with regex returning blank
I made a feature that can call user using @(at sign) and user's nickname. At commentbox, I can use @stackoverflow to notify user's nickanem called stackoverflow. This is part of my code. views.py import re at_sign_object = FreeBoardComment.objects.filter(comment_writer=request.user).order_by("-pk")[0] at_sign = str(at_sign_object) get_nickname = re.findall(r"@([0-9a-zA-Z가-힣]+)", at_sign) print(get_nickname) When user put @ sign and nickname of other user, it successfully prints the nickname of other user. But the problem is, I'm trying to send a notification to that user. So I made a queryset that finds user with their nickname. find_user = CustomUser.objects.filter(nickname=get_nickname) print(find_user) But this code is keep printing blank queryset result like this: I can't understand why my code is not working because I also tried doing this in django shell. like this >>> from users.models import CustomUser >>> find_user = CustomUser.objects.get(nickname="admin") >>> print(find_user) admin -
What are the problems of having two Django projects sharing the same database?
I am building a system that has two components, one is a Web application powered by Django 2.2 and other is a worker that does background processing (its work is not started by the Web app). Both components need to communicate to each other in a bi-directional way. They will use the same database (there is no need to make them independent), inclusive handling the same tables. From Django the Worker will use only the ORM modules, it will own tables that are not known by the Web app (and vice versa). So I will need to run migrations in both components that targets the same database. Are there problems? or for Django that components are seem as two Django apps that use the same database? -
Nginx and gunicron serve django app and media files on the same port
I have a remote server used to serve a django application. when I choose DEBUG=False I had to add a nginx server to serve media files from /media folder. when I try to restart nginx after running gunicron I get an error saying that port 8000 is used. how do I manage to serve the app and the media files on the same port? This is the actual content of mysite_nginx.conf file server { listen 8000; listen [::]:80; ... location / { proxy_pass "http://localhost:8000"; } } -
How fix this error in mysqlclient installation Django?
Command "C:\Users\ASUS\PycharmProjects\FirstSite\venv\Scripts\python.exe -u -c "import setuptools, tokenize;file='C:\Users\ASUS\AppData\Local\Temp\pip-install-fodye6z3\mysqlcl ient\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record C:\Users\ASUS\AppData\Lo cal\Temp\pip-record-awzk5j0l\install-record.txt --single-version-externally-managed --compile --install-headers C:\Users\ASUS\PycharmProjects\FirstSite\venv\include\site\python3.8\mysqlc lient" failed with error code 1 in C:\Users\ASUS\AppData\Local\Temp\pip-install-fodye6z3\mysqlclient\ -
How to get object_set in serializer from Many to Many?
I want to allow saving some specific field only if it responds to some statement. Let me explain. models.py class classe(models.Model): name = models.CharField(max_length=191) groups = models.ManyToManyField('Group') persons = models.ManyToManyField('Person') class Group(models.Model): name = models.CharField(max_length=191) persons = models.ManyToManyField('Person') class Person: name = models.CharField(max_length=191) serializers.py class GroupSerializer(serializers.ModelSerializer): persons = PersonSerializer(many=True, read_only=True) person_id = serializers.PrimaryKeyRekatedField(queryset=Person.objects.all(), write_only=True) def update(self, instance, validated_data, **kwargs): instance.name = validated_data.get('name', instance.name) person_field = validated_data.get('person_id) classe = instance.classe_set #This one doesn't work person_classe = classe.persons.all() #This one too if (person_field in person_classe): instance.persons.add(person_field) instance.save() return instance So, the person_field can be saved only if the person is in the actual classe. Everything work fine, but the two commented lines don't, so can't access the if statement. Does someone know how can I figure it out ? -
Django static files is working but media is not
I dont understand why my media files is not displaying like my static files. My question is very similar to Django media not loading, static files working because i am also using django-oscar but the answer is not working for me. base.py STATIC_ROOT = os.path.join(BASE_DIR, 'static') MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/' # MEDIA_ROOT = r'C:\Users\Michal\django-react-boilerplate\home\media' STATIC_URL = '/static/' print(STATIC_ROOT) print(MEDIA_ROOT) result of prints C:\Users\Michal\django-react-boilerplate\home\static C:\Users\Michal\django-react-boilerplate\home\media both folders have same files but if i type 127.0.0.1:8000/static/fashion.jpg/ it return image. 127.0.0.1:8000/static/media.jpg/ return error 500 template does not exist. Adding full path image to MEDIA_ROOT is not helping. -
Django KeyError at /admin Exception Value: 'actions'
Learning Django by this book, charter 6 ---- https://github.com/PacktPublishing/Django-2-by-Example Using PyCharm Community After add signalscannot open some urls in admin, see error like "KeyError at /admin/account/profile/" or "KeyError at /admin/images/image/" enter image description here enter image description here I think it becouse pycharm don't find decorators files (common) and action files. But I create in project "common' folder with decorators.py and empty init.py And "action" folder with models.py, utils.py was added. How I can fixed it, can you say me, please? p.s. actions.utils and actions.models was red underline too, i try select "ignore this" in pycharm -
Django Sqlite model class has no attibute objects
I hope you all are in good health. I am newbie working on Django. Currently I am need to retrieve items from the SQLite database and display it on the html through Django back-end. Spend alot time on stack-overflow their are similar questions but didn't find any help View.py from django.shortcuts import render from django.http import HttpResponse from .models import mizoso_table def home(request): context = { "post" : mizoso_table.objects.all() } return render(request,'mizoso/home.html',context=context) def product(request): return render(request,'mizoso/products.html') Models.py from django.db import models import datetime from django.contrib.auth.models import User # Create your models here. class mizoso_table(models.Model): title = models.CharField(max_length=100) content = models.TextField() author = models.ForeignKey(User,on_delete=models.CASCADE) def __str__(self): return self.title models and views class is located in the same folder. I tried it on the shell. Its working fine their. I will be very thankful if someone would help me in finding the bug. Thank you! Shell Picture: -
How to modify Django template variable with JS and return it changes on it
I would like to pass a list of ids to a view when i click on a link: <a href="{% url 'app:manage_ids' %}?ids={{ids}}"> So i have created a template var and pass it to js: {% with ids="" %} <script type="text/javascript"> window.ids = "{{ ids }}"; </script> {% endwith %} I manage object ids when click on checkbox, adding or removing it to a list: $('.checkbox').change(function() { var id = $(this).val(); // if django template var is empty var list_ids = []; // else var list_ids = window.ids; if ($(this).is(':checked')) { list_ids.push(id); // here i have to save it on a django template var to use it on the click link } else { const index = list_ids.indexOf(id); if (index > -1) { list_ids.splice(index, 1); // here i have to save it on a django template var to use it on the click link } } }); Anybody could help me about how to do it ? Thanks you so much. -
Update ImageField without forms in django
I am trying to update an image field in django model from an html form. Update goes fine except for the image field. Please, tell what's wrong in my code. That's my views.py file: ''' def update_product(request, product_id): if request.method=="POST" model_name=request.POST['model_name'] image = request.FILES ['image'] Product.objects.filter(id=product_id).update(model_name=model_name, image=image) return redirect ('listing) ''' That's my html file: ''' <form action={% url update_product product.id %} method ="POST enctype='multipart/form-data'> {% csrf_token %} <input type='text' name='model_name'> <input type='file' name='image'> <button type='submit'> Update </button> </form> -
Can't backup my PostgreSQL database [ peer authentication failed for user "USER" ]
sql file that I backedup a long time ago of my website database and now I'm trying to use it but everytime I use: psql -U <username> -d --password <dbname> -1 -f <filename>.sql it gives me this error peer authentication failed for user "USER" I tried to edit the pg_hba.conf but that did nothing. how can I do it ? -
Missing DIV in admin header in Django on another page
I've modified in admin/base.html of Django the header to include an icon to click to display the dropdown menu but when I'm going to Change Password page, I'm seeing the old default navigation links. How can I modify the Change Password page to include the div with class "dropown" which is present in base.html but not in password_change page? Why is missing here? Thank you for any advice given! Below is the header modified by me to include a dropdown: <!-- Header --> <div id="header"> <div id="branding"> {% block branding %}{% endblock %} </div> {% block usertools %} {% if has_permission %} <div id="user-tools"> <div class="back-ground"> {% block welcome-msg %} {% trans 'Welcome,' %} <strong>{% firstof user.get_short_name user.get_username %} !</strong> {% endblock %} {% block userlinks %} {# {% if site_url %}#} {# <a href="{{ site_url }}">{% trans 'View site' %}</a> /#} {# {% endif %}#} {% if user.is_active and user.is_staff %} {% url 'django-admindocs-docroot' as docsroot %} {% if docsroot %} <a href="{{ docsroot }}">{% trans 'Documentation' %}</a> / {% endif %} {% endif %} </div> <div class="dropdown"> <button onclick="openDropdown()" class="dropbtn"><img src="{% static "admin/img/user.svg"%}" alt="User Menu" style="height: 30px;"></button> <div id="myDropdown" class="dropdown-content"> {% if user.has_usable_password %} <a href="{% url 'admin:password_change' … -
Django, how to extract values list montly from DateField?
I have the following models: class Materiale(models.Model): sottocategoria = models.ForeignKey(Sottocategoria, on_delete=models.CASCADE, null=True) quantita=models.DecimalField(') prezzo=models.DecimalField() data=models.DateField(default="GG/MM/YYYY") I wanna calculate the value given by the following expressions PREZZO*QUANTIA in a monthly's view, but my code does not work: Monthly_views=Materiale.objects.filter(data__year='2020').values_list('month').annotate(totale_mensile=F(('quantita')*F('prezzo'))) -
Is Django 2.2 compatible with Django 3.0
I am using Django version 2.2. Is it possible to use Django 3.0 format on my project without any problems? -
Django 3.0 Reverse for slug based name in urls.py cannot be called in template
I am using Django 3.0 to create a basic website and I am obviously still new. My issue is that I am not able to dynamically call the DetailView using the {% url 'my_page' %} format. I set up an About Us section for which the slug is about-us, and my ulrs.py has name="<-slug:slug>" (I figured this isn't right), and get NoReverseMatch at /, Reverse for 'about-us' not found. 'about-us' is not a valid view function or pattern name. I have a Section model set up as follows in models.py: from django.utils.text import slugify class Section(models.Model): section_title = models.CharField(max_length=200, unique=True) section_bg = models.ImageField(upload_to='section-bg') slug = models.SlugField(unique=True) def save(self, *args, **kwargs): self.slug = slugify(self.section_title) super(Section, self).save(*args, **kwargs) def __str__(self): return self.section_title The relevant views.py view: from django.views.generic.detail import DetailView from . import models class SectionView(DetailView): template_name = "home/section.html" model = models.Section def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) return context And finally, in urls.py: urlpatterns = [ ... path(r'home/<slug:slug>/', views.SectionView.as_view(), name='<slug:slug>'), ... ] Thanks in advance for the help! -
Overlapping div in HTML
I am making a Checkout page using Django and the end result doesn't show the street name as attached. Here is the form for the HTML <div class="md-form mb-5"> {% comment %} <input type="text" id="address" class="form-control" placeholder="1234 Main St"> {% endcomment %} {{ form.street_address }} <label for="address" class="">Street Address</label> </div> <!--address-2--> <div class="md-form mb-5"> {% comment %} <input type="text" id="address-2" class="form-control" placeholder="Apartment or suite"> {% endcomment %} {{ form.apartment_address }} <label for="address-2" class="">Apartment_address (optional)</label> </div> and here is the form.py class CheckoutForm(forms.Form): stree_address = forms.CharField(widget=forms.TextInput(attrs={ 'placeholder': '1234 Main St', 'class': 'form-control' })) apartment_address = forms.CharField(required=False, widget=forms.TextInput(attrs={ 'placeholder': 'Apartment or suite', 'class': 'form-control' })) and here is the result attached -
Django Pass Custom Parameters to Formset
I am using formsets to make multiple forms and display them. I have a subform class Ent_Annotator(forms.Form): ent_cat = forms.ChoiceField(choices=ent_cats) And a form with a custom parameter, name class Ent_Annotation_Form(Ent_Annotator): def __init__ (self,*args,name,**kwargs): self.name = name super().__init__(*args,**kwargs) In my view, I want to create several of these forms in a formset by iterating through a list of names. I know how to pass kwargs with form_kwargs={'name':name}, but I can only pass a single value per kwarg. A method to pass multiple values or another way to display multiple forms on a page with so much variable information would be appreciated. -
Getting 404 error after running Django Project. Bootstrap is also not loading
This is the link of my project. I checked other questions for the same issue but did not find a solution for this issue. This is my project link. -
Reverse with " " no argument Not Found. Django (NoReverseMatchError
I am a beginner in django. I have a problem with class based delete view as its returning a no reverse match error. A dollar symbol is there at the end of the url which I didn't provide. This is the error: NoReverseMatch at /posts/myhome/ Reverse for 'delete_post' with no arguments not found. 1 pattern(s) tried: ['posts/(?P<slug>[^/]+)/delete$'] views.py class DeletePostView(BSModalDeleteView, LoginRequiredMixin, UserPassesTestMixin): model = Post success_url = reverse_lazy('posts:myhome') template_name = 'posts/delete_post.html' def test_func(self): post = self.get_object() if self.request.user == post.user: return True return False html code: <div class="content-section"> <form method="POST"> {% csrf_token %} <div class="modal-body"> <fieldset class="form-group"> <legend class="border-bottom mb-4" style="text-align: center;">Delete Post</legend> <h4 style="text-align: center;">Are you sure you want to delete this post?</h4> </fieldset> <div class="form-group" style="text-align: center;"> <button class="btn btn-sm btn-outline-danger" type="submit">Yes, Delete</button> %}">Cancel</a> --> </div> </div> </form> </div> urls.py urlpatterns = [ path('myhome/', HomePostListView.as_view(), name='myhome'), path('create/', CreatePostView.as_view(), name='create_post'), path('<slug>/', views.detail_post, name='detail_post'), path('<slug>/update', views.update_post, name='update_post'), path('<slug>/delete', views.delete_post, name='delete_post'),]