Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Django customUser models
I have faced two or three issues with django customuser model. The first one being the skills models. I wanted to add the Skills in the custom user, realized that there has been some drawbacks, things like, I can not add this skill field properly and when adding the age in django, I dont kno, but the age field seems a bit confusing. My question is, how important is creating the separate userProfile that would inherit the custom user? I think I have come to realise that customuser is better left a lone. How do u guys manage such issues if ever faced? -
I need to split array to sub arrays of similar values in python
lets suppose i have this queryset_array: queryset_array = [{"category":"a"},{"category":"a"},{"category:"b"},{"category":"b"},{"category":"c"}, {"category":"c"}] how can i convert this array using most efficient pythonic way into: array_1 = [{"category":"a"},{"category":a"}}] array_2 = [{"category":"b"},{"category":"b"}] array_3 = [{"category":"c"},{"category":"c"}] -
React - Module parse failed: You may need an appropriate loader to handle this file type 6:15
Help me with this error: NPM run error my webpack setting: module.export = { module: { rules: [ { test: /\.js$|\.jsx/, exclude: /node_modules/, use: { loader: "babel-loader", presets: ['es2015'] } } ], } } -
How do I upload a webcam image using JavaScript ajax to a Django site?
I am creating a livestreaming site using Django and I need to upload an image using an ajax post request to a model form on the django site. I am working with the following code: Models: from django.db import models from django.contrib.auth.models import User class Camera(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True, related_name='camera') image = models.ImageField(upload_to='live/', null=True, blank=True) Views: from .models import Camera from .forms import CameraForm @login_required @csrf_exempt def golive(request): cameras = Camera.objects.filter(user=request.user) camera = None if cameras.count() == 0: camera = Camera.objects.create(user=request.user) camera.save() else: camera = cameras.first() if request.method == 'POST': print(request.FILES) form = CameraForm(request.POST, request.FILES, instance=camera) if form.is_valid(): form.save() print("Working") return redirect('live:live') return render(request, 'live/golive.html', {'object': request.user.camera, 'form': CameraForm()}) @login_required def live(request, username): profile = get_object_or_404(Profile, user__username=username, identity_verified=True, vendor=True) cameras = Camera.objects.filter(user=profile.user) return render(request, 'live/live.html', {'profile': profile, 'camera': cameras.first()}) Templates: {% extends 'base.html' %} {% block content %} <h1>Go live</h1> <div id="container"> <video autoplay="true" id="video"> </video> <canvas id="canvas" width="1028" height="728"> </canvas> <button id="capture"></button> </div> {% endblock %} {% block javascript %} var video = document.getElementById('video'); var canvas = document.getElementById('canvas'); var ctx = canvas.getContext('2d'); function capture(){ ctx.drawImage(video, 0, 0, 1024, 728); ctx.save(); canvas.toBlob(function(blob){ console.log(blob); var fileOfBlob = new File([blob], 'camera.png'); var formData = new FormData(); formData.append('image', fileOfBlob, 'camera.png'); … -
How Can I get the tag id on clicked in Django?
Here's the html <div class="items-link items-link2 f-right"> <a href="{% url 'applytojob' %}" name="job_id" id="{{job.job_id}}" >Apply</a> </div> Here the id is dynamic, so whenever I clicked on this link I need to get id of this tag to my python code in Django. How can I achieve this? Thanks in advance -
I need to apply the values_list() function to queryset after filtering
Following is my View Class: from apps.embla_services.filters import RentPostFilters from django_filters import rest_framework as filters from apps.embla_services.models import RentPost from apps.embla_services.serializers import RentPostBriefSerializer class SearchRentPosts(generics.ListAPIView): def get_queryset(self): city = self.request.query_params.get("city") if city: return RentPost.objects.filter(city__name=city) else: return RentPost.objects.all() serializer_class = RentPostBriefSerializer filter_backends = (filters.DjangoFilterBackend,) filterset_class = RentPostFilters Following is my Filter Class: from django_filters import rest_framework as filters from apps.embla_services.models import RentPost class RentPostFilters(filters.FilterSet): title = filters.CharFilter(lookup_expr="icontains") is_available = filters.BooleanFilter() rent_type = filters.ChoiceFilter(choices=RentPost.RentTypeChoices.choices) category__id = filters.NumberFilter() available_from = filters.DateFromToRangeFilter() price = filters.RangeFilter() class Meta: model = RentPost fields = ["title", "is_available", "rent_type", "category", "available_from", "price"] Following is my Serializer Class: from apps.embla_services.models import RentPost class RentPostBriefSerializer(serializers.ModelSerializer): uploaded_media = FileSerializer(source='media', many=True, read_only=True) category = serializers.CharField(source="category.title") is_expired = serializers.SerializerMethodField() def get_is_expired(self, obj: RentPost): if obj.available_To and obj.available_To < date.today(): return True return False class Meta: model = RentPost fields = ["id", "available_from", "title", "created_at", "latitude", "longitude", "is_available", "uploaded_media", "delivery", "price", "rent_requests", "is_available", "is_expired", "city","category"] What i want is that after all the filters are applied to queryset, i can split this queryset into sub arrays depending upon the category. For example if query set contains 30 items of 3 different categories (10 items in each category). i want the response that is sent … -
Django: How to filter model with multiple whitespaces?
I have a model with char field with values like this: "Justin Roseman" (one single whitespace betwen words) "Justin Roseman" (two whitespaces betwen words) " Justin Roseman " (a lot whitespaces betwen words) etc. etc... I want get all records searching "Justin Roseman". My database is MySQL. I have tried the icontains function, but it does not work if there is more than one whitespace between words: results = MyModel.objects.filter(name__icontains="Justin Roseman") # Only returns values whit one whitespace between words, none whit two or more whitespaces :( Any ideas? please. Maybe whit regex? Thanks :D -
django project does not write to file and there is no error, the file does not appear
I'm trying to write to a file and django doesn't do it. There is no error of any kind but the file does not appear. Using the process monitor I don't see any attempt to write. In a python file the same code works fine. Test performed: @method_decorator(login_required, name='dispatch') class TestWrite(TemplateView): template_name = 'test.html' with open(r'd:\djangotest.txt', "w") as fo: fo.write('test') fo.close() I did the test with Popen and it doesn't work either. p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) stdout, stderr = p.communicate() returncode = p.returncode In the case of Popen I used pg_dump.exe and in stderr I got the result of the program running correctly but no file anywhere. It doesn't matter which path you select to write, inside the project, outside of it, ect. the file does not appear. I don't know if it's important, but I did the tests in pycharm. -
Is there a switch to store the Wagtail RichTextBlock content to database in UTF-8?
I am new in Django and Wagtail. I developed a website app using Django 4.0 and Wagtail 2.16.1. I found Django models.CharField by default stores content to database in UTF-8, while Wagtail RichTextBlock by default stores content to database in Unicode, which cause a problem when searching the East-Asian characters. models.py class BlogDetailPage(Page): custom_title = models.CharField('Title', max_length=60, help_text='文章标题') author = models.ForeignKey(User, on_delete=models.PROTECT) create_date = models.DateField("Create date", auto_now_add= True) update_date = models.DateField("Update date", auto_now=True) intro = models.CharField('Introduction', max_length=500, help_text='文章简介') tags = ClusterTaggableManager(through=BlogPageTag, blank=True) content = StreamField( [ ('heading', blocks.CharBlock(form_classname="full title")), ('paragraph', blocks.RichTextBlock()), ('image', ImageChooserBlock()), ('blockquote', blocks.BlockQuoteBlock(label='Block Quote')), ('documentchooser', DocumentChooserBlock(label='Document Chooser')), ('url', blocks.URLBlock(label='URL')), ('embed', EmbedBlock(label='Embed')), #('snippetchooser', SnippetChooserBlock(label='Snippet Chooser')), ('rawhtml', blocks.RawHTMLBlock(label='Raw HTML')), ('table', TableBlock(label='Table')), ('markdown', MarkdownBlock(label='Markdown')), ('code', CodeBlock(label='Code')), ('imagedeck', CardBlock(label='Imagedeck')), ], null=True, blank=True, ) search.py def search(request): search_query = request.GET.get('query', None).strip() page_num = request.GET.get('page', 1) condition = None for word in search_query.split(' '): if condition is None: condition = Q(custom_title__icontains=word) | Q(intro__icontains=word) | Q(content__icontains=word.encode('utf-8')) else: condition = condition | Q(custom_title__icontains=word) | Q(intro__icontains=word) | Q(content__icontains=word.encode('utf-8')) search_results = [] if condition is not None: search_results = BlogDetailPage.objects.live().filter(condition) The problem is I can search English and Chinese in the intro field, but can only search English in content field. When checking the database (PostgreSQL UTF-8 by … -
How to solve the problem of installing django-simple-history?
In my project i need to use django-simple-history but when i run the command : pip install django-simple-history i got the ERREUR : Could not build wheels for django-simple-history, which is required to install pyproject.toml-based projectsenter image description here any solutions please, thank you in advance -
Problem upgrading django 2.2.27 to 2.2.28 on Mac
I have a Django application that I'm trying to upgrade the django module from 2.2.27 to 2.2.28 to close a SQL injection attack vector. I'm running this on a recent intel Mac with a current OS, Python 3.7.7, and the installation and package management are handled by pipenv. If I clone the repository for the project and run pipenv install things work fine and I can run the application. If I edit the Pipfile and change django line to this: django = "==2.2.28" and run pipenv update I get a long error display: Running $ pipenv lock then $ pipenv sync. Locking [dev-packages] dependencies... Building requirements... Resolving dependencies... ✔ Success! Locking [packages] dependencies... Building requirements... Resolving dependencies... ✘ Locking Failed! INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-b7oz222d INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-a2zlgyg9 INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-wnccio_d INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-qdyz7et_ INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-f_ntiq_4 INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-njy4pcni INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-9hanls1n INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-nh2nhv5s INFO:pipenv.patched.notpip._internal.vcs.git:Cloning https://github.com/startwithlucy/zoomus.git (to revision v0.2.7) to /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pipenv-lodkowat-src/zoomus2 INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-3tdmn4n6 INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-or92fdaw INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-4afu8z2s INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-1gzv7c4l INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-_nb_ij8m INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-3mnuqo1i INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-8j29fail INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-equgr8uv INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-pyqzy2cq INFO:pep517.envbuild:Temporary build environment: /var/folders/fh/jwrr3ps55v97vr65pvvc25ch0000gp/T/pep517-build-env-lw3xry9m INFO:pipenv.patched.notpip._internal.operations.prepare:Obtaining … -
Django models: is it possible to force icontains on filter/get for specific field using a manager?
Let's say I have a model with a string field similar to this class Product(models.Model): upc = models.CharField(max_length=12, blank=False, null=False) Is it possible to build a model manager or something similar where every time I use Product.objects.get/Product.objects.filter it overrides the default lookup to force the search/filter to behave like I had used icontains? As in: Product.objects.get(upc="012345678902") Product.objects.filter(upc="012345678902") By default would behave like: Product.objects.get(upc__icontains="012345678902") Product.objects.filter(upc__icontains="012345678902") -
How to show on template just a Model with Foreign Key Django
I have this model: class CustomUser(AbstractUser): phone = models.IntegerField(null=True, blank=True) class RouterModel(models.Model): ip = models.CharField(max_length=15) username = models.CharField(max_length=50) password = models.CharField(max_length=50) port = models.IntegerField() owner = models.ForeignKey('CustomUser', on_delete=models.CASCADE, ) name = models.CharField(max_length=50) def __str__(self): return self.name class Clients(models.Model): name = models.CharField(max_length=50) tcpIP = models.IntegerField() email = models.EmailField() phone = models.IntegerField() zone = models.CharField(max_length=50) owner = models.ForeignKey('RouterModel', on_delete=models.CASCADE, ) def __str__(self): return self.name class Tickets(models.Model): title = models.CharField(max_length=200) comment = models.TextField(max_length=500) owner = models.ForeignKey('Clients', on_delete=models.CASCADE) def __str__(self): return self.title and this view class DashBoard(ListView): model = RouterModel template_name = 'templates/dashboard/dashboard.html' context_object_name = 'router_model' template: {% block content %} {% if user.is_authenticated %} <h3>Hello {{ user.username }}</h3> {% for router in object_list %} <h3>{{ router }}</h3> <h2>{{ router.ip }}</h2> <br> {% endfor %} {% endif %} {% endblock content%} Im getting on the template all the RouterModel created. I mean if user A create a RouterModel when I log in with user B i can see what user A create. how can i display only the user models created by user B? not the A or C. Just B. -
Images are not showing in a Django web app deployed on Heroku
I have a Django app deployed on Heroku the problem is that when I upload an image to the app, it's uploaded fine and it keeps being shown for sometime, when I close the app for a long time and come back the images become corrupted and not shown. I use postgres database. I use django-imagekit package to upload images into the models, I even installed the whitenoise package after I have seen a similar problem with this package as a solution and the problem is still persistent. and I don't know what the problem is. anybody has an idea ? settings.py MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', "whitenoise.middleware.WhiteNoiseMiddleware", .... ] DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'helper', 'USER': '', 'PASSWORD': '', 'HOST': 'localhost', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 'PORT': '', # Set to empty string for default. } } STATIC_URL = '/static/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/' STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage" -
Error when creating a django superuser with Heroku - FileNotFoundError
I'm trying to deploy a django application on Heroku, but when it comes to the part where I need to create a superuser, I get an error: Traceback (most recent call last): File "/app/django_project/manage.py", line 22, in <module> main() File "/app/django_project/manage.py", line 18, in main execute_from_command_line(sys.argv) File "/app/.heroku/python/lib/python3.9/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line utility.execute() File "/app/.heroku/python/lib/python3.9/site-packages/django/core/management/__init__.py", line 440, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/app/.heroku/python/lib/python3.9/site-packages/django/core/management/base.py", line 414, in run_from_argv self.execute(*args, **cmd_options) File "/app/.heroku/python/lib/python3.9/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 87, in execute return super().execute(*args, **options) File "/app/.heroku/python/lib/python3.9/site-packages/django/core/management/base.py", line 460, in execute output = self.handle(*args, **options) File "/app/.heroku/python/lib/python3.9/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 232, in handle self.UserModel._default_manager.db_manager(database).create_superuser( File "/app/.heroku/python/lib/python3.9/site-packages/django/contrib/auth/models.py", line 171, in create_superuser return self._create_user(username, email, password, **extra_fields) File "/app/.heroku/python/lib/python3.9/site-packages/django/contrib/auth/models.py", line 154, in _create_user user.save(using=self._db) File "/app/.heroku/python/lib/python3.9/site-packages/django/contrib/auth/base_user.py", line 68, in save super().save(*args, **kwargs) File "/app/.heroku/python/lib/python3.9/site-packages/django/db/models/base.py", line 806, in save self.save_base( File "/app/.heroku/python/lib/python3.9/site-packages/django/db/models/base.py", line 872, in save_base post_save.send( File "/app/.heroku/python/lib/python3.9/site-packages/django/dispatch/dispatcher.py", line 176, in send return [ File "/app/.heroku/python/lib/python3.9/site-packages/django/dispatch/dispatcher.py", line 177, in <listcomp> (receiver, receiver(signal=self, sender=sender, **named)) File "/app/django_project/users/signals.py", line 18, in create_profile Profile.objects.create(user=instance) File "/app/.heroku/python/lib/python3.9/site-packages/django/db/models/manager.py", line 85, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/app/.heroku/python/lib/python3.9/site-packages/django/db/models/query.py", line 514, in create obj.save(force_insert=True, using=self.db) File "/app/django_project/users/models.py", line 20, in save img = Image.open(self.image.path) File "/app/.heroku/python/lib/python3.9/site-packages/PIL/Image.py", line 3068, in open fp = builtins.open(filename, "rb") FileNotFoundError: [Errno 2] No … -
Getting objects before validating data Django REST
I have to create a new Chat object using this view: class ChatListCreateView(ListCreateAPIView): permission_classes = [IsAuthenticated] serializer_class = ChatSerializer def get_queryset(self): data = Chat.objects.filter( Q(employees=self.request.user) | Q(created_by=self.request.user)).distinct() return data The serializer it uses is: class ChatSerializer(serializers.ModelSerializer): created_by = SimpleEmployeeSerializer(read_only=True) employees = SimpleEmployeeSerializer(many=True, read_only=True) title = serializers.CharField(max_length=255) def create(self, validated_data): """ Creates a new Chat and adds the m2m employees to it """ # Create and save the chat chat = Chat.objects.create( created_by=self.context['request'].user, title=validated_data['title'], ) # Add the employees to the chat validated_employees = validated_data.pop('employees') for user_id in validated_employees: employee = Employee.objects.get(id=user_id) chat.employees.add(employee) return chat My issue is that the SimpleEmployeeSerializer expects a user object but I am submitting an array of employees as such: { "title": "fwef", "employees": [ { "id": "8" }, { "id": "30" } ] } What method can I implement to get the objects from these IDs before validation? -
collectstatic throws AttributeError: 'NoneType' object has no attribute 'startswith
I am following this guide to serve static files for my site using Digital Ocean's spaces. Here are my settings: ... MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') AWS_ACCESS_KEY_ID = os.environ.get("DIGITALOCEAN_STATIC_ACCESS_KEY") AWS_SECRET_ACCESS_KEY = os.environ.get("DIGITALOCEAN_STATIC_SECRET_KEY") AWS_STORAGE_BUCKET_NAME = os.environ.get("AWS_STORAGE_BUCKET_NAME") AWS_LOCATION = os.environ.get("AWS_LOCATION") AWS_S3_ENDPOINT_URL = 'https://nyc3.digitaloceanspaces.com' AWS_S3_OBJECT_PARAMETERS = { 'CacheControl': 'max-age=86400', } STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ] STATIC_URL = 'https://%s/%s/' % (AWS_S3_ENDPOINT_URL, AWS_LOCATION) STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' STATIC_ROOT ='/home/myname/example/assets' DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' When I run python manage.py collectstatic I get this: location as specified in your settings. This will overwrite existing files! Are you sure you want to do this? Type 'yes' to continue, or 'no' to cancel: yes 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 "/home/user/example/env/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line utility.execute() File "/home/user/example/env/lib/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/user/example/env/lib/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv self.execute(*args, **cmd_options) File "/home/user/example/env/lib/python3.8/site-packages/django/core/management/base.py", line 398, in execute output = self.handle(*args, **options) File "/home/user/example/env/lib/python3.8/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 187, in handle collected = self.collect() File "/home/user/example/env/lib/python3.8/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 114, in collect handler(path, prefixed_path, storage) File "/home/user/example/env/lib/python3.8/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 338, in copy_file if not self.delete_file(path, prefixed_path, source_storage): File "/home/user/example/env/lib/python3.8/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 248, in delete_file if self.storage.exists(prefixed_path): File "/home/user/example/env/lib/python3.8/site-packages/django/utils/functional.py", line 246, in inner … -
ReactJS / Axios / Django: Update form with the current image from API
I'm trying to create an update form in React, the update works fine as I have set the default values that coming from (get method) using axios and set them as the default if none changed. I get the existing image from API and set it as default value in React update form, if image updated get the new one(this one is working fine) if image was not updated, put the existing image that was received from the API which is not working, I get this message: {image: ["The submitted data was not a file. Check the encoding type on the form."]} my code: React: export function ProductUpdate() { const [p, setProduct] = useState("") const {slug} = useParams() useEffect(() => { function featchProduct() { axios.get(API.products.retrive(slug)) .then(res => { setProduct(res.data) }) } featchProduct() } ,[]) const [loading, setLoading] = useState(false) const [title, setTitle] = useState("") const [image, setImage] = useState(null) const [description, setDescription] = useState("") const [price, setPrice] = useState("") const [active, setActive] = useState("") const [soldout, setSoldout] = useState("") const handleSubmit = (event) => { event.preventDefault(); let formField = new FormData() formField.append('title', title || p.title) formField.append('slug', slug) formField.append('description', description || p.description) formField.append('price', price) formField.append('active', active) formField.append('soldout', soldout) formField.append('image', image || … -
How to do two separate Stripe payments with one click
I'm looking for a way to split a Stripe payment into two with one click, but one of the installments should be automatic while the other is based on a condition. I'm new to the Stripe API and relatively new to Django as well. It looks like Stripe Connect would solve the issue of splitting the payment in two, but both installments would be triggered at the same time which I'm trying to avoid. I know this is a pretty vague question so I apologize in advance. But if anyone has an idea how I could implement this please let me know! Thanks -
how can i add two related nested instance in one request using DRF?
Hi I'm new to Django rest framework I have class Location(models.Model): name = models.CharField(("name"), max_length=50) long = models.CharField(("longitude"), max_length=50) lat = models.CharField(("latitude"), max_length=50) def __str__(self): return self.name class Farm (models.Model): name = models.CharField(("Name"), max_length=50) size = models.FloatField('Size') size_unit = models.CharField(("Size Uint"), max_length=50) owner = models.ForeignKey(Account, on_delete=models.SET('Deleted user')) location = models.ForeignKey(Location, on_delete=models.SET('Deleted Location')) def __str__(self): return self.name those are my model and here are my serializers class FarmSerializer(serializers.ModelSerializer): class Meta: model = Farm fields = '__all__' class LocationSerializer(serializers.ModelSerializer): class Meta: model = Location fields = '__all__' how can I create both Farm and location in one request like { "name": "new farm", "size": 400, "size_unit": "meter", "owner": 1, "location":[{ "name":"new location", "long":2132.123212, "lat":2213231.1234}] } I tried to add create at serializer like def create(self,validated_date): location_data = validated_date.pop('location') location = Location.objects.get_or_create(**location_data) farm = Farm.objects.create(**validated_date,location=location) return farm but it does not work and it gives me this message { "location": [ "Incorrect type. Expected pk value, received list." ] } thanks for help -
Unable to serve static file in Django deployed to production in Digital ocean
currently I deployed my django app in Digital ocean droplet.In localhost it works well but it cant serve js/css files in static folder when deployed to prod, after some googling possible solutions, nothing works for me. server { server_name keywordprocessor.prodsite.com www.keywordprocessor.prodsite.com> location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /root/projects/backend/crawler; } location / { include proxy_params; proxy_pass http://unix:/run/gunicorn.sock; } ..... BY digital oceans default, the project resides inside root directory `cd projects` `pwd` returns /root/projects/ Settings # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/4.0/howto/static-files/ STATIC_URL = "/static/" STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")] STATIC_ROOT = os.path.join(BASE_DIR, "/") THis is how the project folder looks like backend/ crawler/ static/ templates .gitignore requirements.txt /etc/systemd/service/gunicorn.service [Unit] Description=gunicorn daemon Requires=gunicorn.socket After=network.target [Service] User=root Group=root WorkingDirectory=/root/projects/backend/crawler ExecStart=/usr/local/bin/gunicorn \ --access-logfile - \ --workers 3 \ --bind unix:/run/gunicorn.sock \ crawler.wsgi:application [Install] WantedBy=multi-user.target All js and css files cant be served `Failed to load resource: the server responded with a status of 404 (Not Found)` It does load the page but css messed up Regards -
How can I add ordering for ManyToMany field?
I have two models: CustomUser and AgreementReglament At this moment relation between the models looks like this: class AgreementReglament(models.Model): name = models.CharField(max_length=32) # just name of the reglament approvers = models.ManyToManyField( # set of users to approve 'CustomUser', related_name='agreement_reglaments' ) How can I set order of approvers (e.g. CustomUser1 should be the first in particular AgreementReglament1, CustomUser2 should be second and so on, but in AgreementReglament2 CustomUser2 can be the first) I think that json data should be like this: { "name": "Reglament1", "approvers": [ { "approver_name": "Alex", "approver_order": 1, }, { "approver_name": "Bob", "approver_order": 2, } ] } -
Adding markdown highlighted fenced block to django app with markdonx
I have been looking through the documentation but I can’t seem to get this to work. I wish to publish posts from a “creation page”. I want to use the editor markdownx. I got it to work, however there is no “fenced code support”. I tried to add the following line of code to my settings.py MARKDOWNX_MARKDOWN_EXTENSIONS = ['fenced_code'] but it breaks the code, in fact I get the following error (when I try to create a post): SyntaxError at /markdownx/markdownify/ if I erase the extensions list, it works fine. I would like also to use the codehilite extension by adding it to the list like this MARKDOWNX_MARKDOWN_EXTENSIONS = ['fenced_code' ,'codehilite'] but it does not work. I have installed pigments but the documentation does not seem to help. Could someone help me add this extensions correctly, getting highlighted code blocks to work. Thank you very much. -
Django Rest-Framework search-fields wont work inside @action
I'm trying to use the search field offered by DRF inside of an action, but it seems to not work. I had a similar problem paginating inside of the action but found a solution. My guess is that it's overriding the ModelViewSet so I have to manually add the filtering, but is there a way to use the same search_fields offered by DRF. Here's my code: class XViewSet(ModelViewSet): queryset = X.objects.all() serializer_class = XSerializer permission_classes = [IsAdminUser] filter_backends = (SearchFilter,OrderingFilter) search_fields = ['a','b','c','d'] @action(detail=False, methods=['GET'], permission_classes=[IsAuthenticated]) def me(self, request): query = X.objects.filter(ex_id=request.user.id) if request.method == 'GET': serializer = XSerializer(query, many=True) return Response(serializer.data) Any help is appreciated, Thank you :) -
Problem to install django proyect in IIS server windows 2016
I need help with the following problem: raise RuntimeError('No Apache installation can be found. Set the ' RuntimeError: No Apache installation can be found. Set the MOD_WSGI_APACHE_ROOTDIR environment to its location. This appears the moment I try to run the server the file. This is the content of the web.config file: <?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <handlers> <add name="Proyectoqr" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Python35\python.exe|C:\Python35\Lib\site-packages\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/> </handlers> </system.webServer> <appSettings> <add key="PYTHONPATH" value="C:\inetpub\wwwroot\proyectoqr"/> <add key="WSGI_HANDLER" value="proyectoqr.wsgi.application"/> <add key="DJANGO_SETTINGS_MODULE" value="proyectoqr.settings"/> <add key="APPLICATION" value="get_wsgi_application()"/> </appSettings> </configuration> This is the settings file of the project import os from pathlib import Path from telnetlib import LOGOUT from django.urls import reverse_lazy BASE_DIR = Path(__file__).resolve().parent.parent DEBUG = False ALLOWED_HOSTS = ['10.100.10.133', 'localhost', "127.0.0.1:8000", '127.0.0.1' ] INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'import_export', "apps.equipo", "apps.usuariof", ] 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.RemoteUserMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ROOT_URLCONF = 'proyectoqr.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ["templates"], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] AUTHENTICATION_BACKENDS = [ 'django.contrib.auth.backends.RemoteUserBackend', ] WSGI_APPLICATION = 'proyectoqr.wsgi.application' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { …