Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
heroku django deployment error when i deploy my project on heroku
[enter image description here][1] this is image when deploy my project [1]: https://i.stack.imgur.com/7Dzkh.png 2020-10-26T10:37:34.171420+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=artz-artz.herokuapp.com request_id=60e18810-1663-4340-bb29-b483ac8c533a fwd="49.205.85.27" dyno= connect= service= status=503 bytes= protocol=https 2020-10-26T10:37:34.672584+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=artz-artz.herokuapp.com request_id=4008c275-487b-4985-8271-609f695f3cef fwd="49.205.85.27" dyno= connect= service= status=503 bytes= protocol=https 2020-10-26T10:39:52.603447+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=artz-artz.herokuapp.com request_id=a80684db-d362-46b3-a077-9bfa241f125f fwd="49.205.85.27" dyno= connect= service= status=503 bytes= protocol=https 2020-10-26T10:39:53.229699+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=artz-artz.herokuapp.com request_id=7c698567-216c-447f-8082-fd79140fa7a7 fwd="49.205.85.27" dyno= connect= service= status=503 bytes= protocol=https 2020-10-26T10:45:13.675510+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=artz-artz.herokuapp.com request_id=e7c3d041-78f3-4526-a642-446fed802fa2 fwd="49.205.85.27" dyno= connect= service= status=503 bytes= protocol=https 2020-10-26T10:45:14.390601+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=artz-artz.herokuapp.com request_id=ea9c96c2-f736-44c6-8ccf-2427fe8151ae fwd="49.205.85.27" dyno= connect= service= status=503 bytes= protocol=https -
Wrong status code when User validation fails - Django One-to-one relationships
I am writing a dajngo user registration REST API and I have extended the Django User model using a one-to-one field in a Profile model. The problem is - when the username validation fails, I get 200 HTTP status code. How can I raise an error code if the Validation of nested User obejct fails? Output : Status Code : 200 { "user": { "username": [ "A user with that username already exists." ] } } The following are the serializers : from rest_framework import serializers from .models import Profile,User class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = '__all__' #fields = ('username', 'first_name', 'last_name', 'email') class registration_serializer(serializers.ModelSerializer): user = UserSerializer(required=True) password_confirm = serializers.CharField(style = {'input_type' : 'password'}, write_only=True) class Meta: model = Profile fields = ['date_of_birth','city','gender','display_picture','password_confirm','user'] extra_kwargs = { 'password' : {'write_only' : True} } def create(self, validated_data): user_data_valid = validated_data.pop('user') password_confirm = validated_data.pop('password_confirm') if user_data_valid['password'] != password_confirm: raise serializers.ValidationError({'password' : 'Passwords do not match'}) else: user = UserSerializer.create(UserSerializer(), validated_data=user_data_valid) profile, created = Profile.objects.create(user=user, date_of_birth=validated_data.pop('date_of_birth'), city=validated_data.pop('city'), gender=validated_data.pop('gender'), display_picture=validated_data.pop('display_picture') ) return profile And this is the Model that I have created : class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) date_of_birth = models.DateField(null=True) city = models.CharField(max_length=40,null=True) gender = models.CharField(max_length=1, choices=(('M','Male'),('F','Female'),('O','Other')), null =True) … -
Field 'id' expected a number but got 'create'
I've been trying to create this model object but i keep getting this error: Field 'id' expected a number but got 'create'. I am using djangi 3.0.3 view.py file:- from django.shortcuts import render from . import models from django.views.generic import (View,TemplateView,ListView,DetailView, CreateView,UpdateView,DetailView) # Create your views here. class IndexView(TemplateView): template_name = 'index.html' class SchoolListView(ListView): context_object_name = 'schools' model = models.School class SchoolDetailView(DetailView): context_object_name = 'school_detail' model = models.School template_name = 'basic_app/school_detail.html' class SchoolCreateView(CreateView): fields = ('name','principal','location') model = models.School model.py from django.db import models from django.urls import reverse # Create your models here. class School(models.Model): name = models.CharField(max_length=265) principal = models.CharField(max_length=256) location = models.CharField(max_length=256) def __str__(self): return self.name def get_absolute_url(self): return reverse("basic_app:detail", kwargs={'pk':self.pk}) class Student(models.Model): name = models.CharField(max_length=256) age = models.PositiveIntegerField() school = models.ForeignKey(School, related_name='student', on_delete=models.CASCADE) def __str__(self): return self.name Any help will be appreciable Thank & Regards Viplav Dube -
Connect different model and form into each post
Please help. Im a newbie in programming. Im currently working on project, simple scientific calculator, but I dont know what path should I take. I want to map MyCalculator Model and Form into each post from 'Post' model. Let say I create model 'Post', and then I create post 'Post1', 'Post2', 'Post3'. I access them through PostListView and PostDetailView and then I create 'Post1Calc', 'Post2Calc', 'Post3Calc' Model and Form. What should I do to do this? How to connect the calculator to each post The goal is, everytime I click the post, I can see the calculator for related post and do some input and result display. What need to be taken as note is I might have many post in the future and so I will keep making new models for calculator. Please give me some direction and explanation. I dont mind some references as well if it is easier. Here is my mind map for. Thank you -
Creating Models To Store Static Webpage Content
I have a webpage which loads the following container: <div class="container"> <div class="row"> <!-- this code is repeated many times --> <div class="example_outer col-md-4 col-xl"> <div class="example_container"> <img class="example" src="{% static 'example/example.png' %}" alt="example"> <div class="inner_container"> <p class="example_text">Example</p> </div> </div> </div> <!-- // --> </div> </div> Only it prints out the middle section many times. As I had a lot of repeated code I decided to remove the repeated code, create a model, create an instance for each object in the repeated code, and iterate through the instances printing them out. Something like: <div class="container"> <div class="row"> {% for example in examples %} <div class="example_outer col-md-4 col-xl"> <div class="example_container"> <img class="example" src={{example.image}} alt={{example.alt}}> <div class="inner_container"> <p class="example_text">{{example.text}}</p> </div> </div> </div> {% endfor %} </div> </div> This data is unlikely to change often, and if so, will only be changed by me (users cannot create these models). I am also thinking in terms of the production server. If I create models and iterate through them to reduce my repeated code then the images in those models will exist in my media folder. I thought the media folder was only for user uploads. Am I missing something? Thank you. -
How do i pass vuejs frontend Vuetify Date picker output to a django DateTime field
My project uses vuejs on the front end and django as backend, django rest framework to serve the api's. i have been stucked on this for hours, without a clue as to why i keep having this error. I have also checked here on stackoverflow, similar questions were not helpful. I have a Project model with a DateTime field for expiry date like so; class Project(models.Model): author = models.ForeignKey(CustomUser, on_delete=models.CASCADE) title = models.CharField(max_length=255, unique=True) details = models.TextField() expiry = models.DateTimeField() ---------------- and a serializer class; class ProjectSerializer(serializers.ModelSerializer): author = UserSerializer(read_only=True) ------- expiry = serializers.DateTimeField(read_only=False) class Meta: model = Project fields = ['id', 'author', 'title', 'details', 'expiry', ...] def create(self, validated_data): title = validated_data.get('title') details = validated_data.get('details') exp = validated_data.get('expiry') expiry = datetime.strptime(str(exp), '%Y-%m-%d') project = Project.objects.create(title=title, details=details, expiry=expiry, author=self.context['request'].user) return project and then my views.py; class CreateProjectViewSet(CreateAPIView): serializer_class = ProjectSerializer queryset = Project.objects.all() permission_classes = [IsAuthenticated,] authentication_classes = [TokenAuthentication,] def create(self, request, *args, **kwargs): context = { 'request': request } serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) self.perform_create(serializer) response = {'message': 'Project created!', 'result': serializer.data} return Response(response, status=status.HTTP_201_CREATED) def perform_create(self, serializer): serializer.save(created=timezone.now()) In my vuejs frontend, i have a vuetify DatePicker component to input the expiry date field. The method to post the … -
Django not showing a model in admin page
I have created a new model for my app "Consumptions" but it doesn't show up. I know that I have to put it in the admin.py page but still not working. I don't know what could be happening This is my models.py page: from logs.mixins import LogsMixin # Other models class MF(LogsMixin, models.Model): """Definición del modelo de Proveedor.""" name = models.CharField("Nombre", null=False, default="MF", max_length=50) class Meta: verbose_name = 'Módulo formativo' verbose_name_plural = 'Módulos formativos' def __str__(self): return self.name # Other models And this is my admin.py page: from django.contrib import admin from .models import Provider, Consumption, Message, Course, Call, Platform, MF admin.site.register(Provider) admin.site.register(Consumption) admin.site.register(Message) admin.site.register(Course) admin.site.register(Call) admin.site.register(Platform) admin.site.register(MF) as you can see is not my only model, I do the same with all of them but that one is not showing up in the admin page. What am I doing wrong? -
how to access form.cleaned_data values in another view?
urls.py app_name = "spotify" urlpatterns = [ path("home/" , Search.as_view() , name= "home"), path("data/" , View.as_view(), name= "view") ] views.py class Search(View): form = SpotifyForm template_name = "spotify_calls/homepage.html" context = {"form": form} def get(self, request): return render(request , self.template_name, self.context) def post(self, request, *args , **kwargs): form = self.form(request.POST) template_name= "spotify_calls/display.html" if form.is_valid(): cleaned = form.cleaned_data["form"] context = {"data":cleaned} return redirect('spotify:view') else: form() class display(View): template_name = "spotify_calls/display.html" def get(self,request): render(request, self.template_name) I wish to pass context = {"data":cleaned} into my class display(View) so I can use the form data as input to other methods I will define in class display(View) but I do not know how to. -
The view admin panel.views.create category didn't return an HttpResponse object. It returned None instead
I dont know why i am getting this error I am trying build an admin panel.So I am trying to make create category functionality after coding all the functionalities i got stuck in this error Here is my view.py def createcategory(request): if request.method == 'POST': createcat = CategoryForm(request.POST, request.FILES) if createcat.is_valid(): cat_name = createcat.cleaned_data['category_name'] cat_image = createcat.cleaned_data['category_image'] insert_cat = CategoryModel( category_name=cat_name, category_image=cat_image) insert_cat.save() create2 = CategoryForm() else: createcat = CategoryForm() all_categories = CategoryModel.object.all() return render(request, 'createcat.html', {'create2': createcat}) Here is my models.py class CategoryModel(models.Model): category_id = models.AutoField(primary_key=True) category_name = models.CharField(max_length=100) category_image = models.ImageField(upload_to='images/') -
Django Elasticsearch dsl drf OR query
How to make OR query (using django-elasticsearch-dsl-drf) with multiple contains statements? Query in words: Search for objects where title contains "hello" OR description contains "world" I can't find about it in documentation: https://django-elasticsearch-dsl-drf.readthedocs.io/en/0.3.12/advanced_usage_examples.html#usage-example -
Django 3.1.2 block Content Not Showing
Django block content not working while extends -
Reverse for 'post_detail' with keyword arguments '{'pk': '', 'article_id': ''}' not found
I'm a beginner in developer of django. I want to create a template tag on homepage of my blog and link to article page of my blog. Here is my template tag : {% url 'post_detail' pk=post.pk article_id=photo.article_id %} but cause the error : NoReverseMatch at / Reverse for 'post_detail' with keyword arguments '{'pk': '', 'article_id': ''}' not found. 2 pattern(s) tried: ['post/(?P<pk>[^/]+)/$', 'post/(?P<pk>[^/]+)/(?P<article_id>[^/]+)/$'] I try (pk and article_id) = 1,2,3 ... and so on.It can function. Here is my code: home page html: <div class="story"> {% for article in article %} <div> <div> <h3><b>{{ article.title }}</b></h3> <h5>{{ article.created_at }}</h5> </div> <div> <p>{{ article.content }}</p> <div> <div> <p><button type="button" onclick="location.href='{% url 'post_detail' pk=post.pk article_id=photo.article_id %}'"><b>READ MORE »</b></button></p> </div> </div> </div> </div> {% endfor %} </div> view.py: def home(request): article = Article.objects.all() photo = Picture.objects.all() return render(request, 'home.html', {'article':article,'photo':photo} ) def post_detail(request,pk,article_id): post = Article.objects.get(pk=pk) photo = Picture.objects.get(article_id=article_id) return render(request,"post.html",{"post":post , "photo":photo}) url.py: from blog.views import home,post_detail path('', home) path('post/<pk>/<article_id>/', post_detail, name='post_detail') -
How to filter date in diagram (Chart.js) in Python/Django?
I need your help, It's my first project with Python, Django and Chart.js. I have to create monthly Report for Automated tests. What is done: urls.py path('launch/<str:pk>', views.launch_details, name='launch-detail'), path('launch/<str:pk>/<str:feature_id>', views.launch_details, name='launch-detail'), path('launch/<str:pk>/<str:launch_id>', views.launch_details, name='launch-detail'), path('launch/<str:pk>/<str:feature_id>/<int:scenario_id>', views.launch_details, name='launch-detail'), path('monthly_report/', views.monthly_report, name='monthly_report'), path('last_monthly_report/', views.last_monthly_report, name='last_monthly_report') models.py class MonthlyReport(models.Model): start_date = models.CharField(max_length=255, primary_key=True) launch_id = models.IntegerField() status = models.CharField(max_length=255) p1_passed = models.IntegerField() p1_total = models.IntegerField() p2_passed = models.IntegerField() p2_total = models.IntegerField() p3_passed = models.IntegerField() p3_total = models.IntegerField() class Meta: managed = False db_table = 'V_AT_MONTHLY_REPORT' def get_absolute_url(self): """Returns the url to access a detail record for this book.""" return reverse('launch-detail', args=[str(self.launch_id)]) def get_failed_p1_features_no(self): return self.p1_total - self.p1_passed def get_failed_p2_features_no(self): return self.p2_total - self.p2_passed def get_failed_p3_features_no(self): return self.p3_total - self.p3_passed views.py def monthly_report(request, pk=-1, launch_id='#'): last_launches = Launch.objects.exclude(launch_id='-1').order_by('-launch_id')[:5] scenario_history_dict = {} for launch in last_launches: for feature in launch.features.all(): for scenario in feature.scenarios.all(): scenario_link = launch.get_absolute_url() + "/" + feature.feature_name + "/" + str(scenario.scenario_id) scenario_hist = ScenarioHist(scenario_link, scenario.status) if scenario.scenario_id in scenario_history_dict: scenario_history_dict[scenario.scenario_id].append(scenario_hist) else: scenario_history_dict.update({scenario.scenario_id: [scenario_hist]}) launch = Launch.objects.get(pk=pk) context = { "launch": launch, "launch_id": launch_id, "dataMonthly_report": MonthlyReport.objects.all() } return render(request, 'monthly_report.html', context=context) class ChartDataMonthlyReport(APIView): authentication_classes = [] permission_classes = [] def get(self, request, format=None, from_date = '2020-09-18', to_date = '2020-09-30'): historical_launches_bymonth = … -
Django - Many to Many Field Ordering Issue
class Sandeep(models.Model): model_id = models.CharField(max_length=200, unique=True) processors2 = models.ManyToManyField(ConfiguratorProduct,blank=True, related_name="processors2", verbose_name="Processors2") model_sk= models.CharField(max_length=200, unique=True) model_dk = models.CharField(max_length=200, unique=True) model_pk = models.CharField(max_length=200, unique=True) models.DateTimeField(auto_now_add=True).contribute_to_class( Sandeep.processors2.through, 'date_added2') The above is my model and I am using processors2 as a Many to many Field. I want to save many to many field in the same order which i am adding to Sandeep from django Admin but my order get shuffled by the default id of ConfiguratorProduct[Manyto many relation model] I tried using the above statement and successfully added one new field timestamp but not able to get the data into django admin UI as per the time-stamp. I have checked so many solutions but not able to find out the best way to display many to many field in the same order which I am adding to the Model. -
How to update existing user's profile in python django connected with mongodb database
I have written this function to update existing user's profile but it is creating a new user in database instead of updating existing user.Would you please help tofigure out the problem.Thanks def update_Profile(request): if request.method == 'POST': address =request.POST['address'] country=request.POST['country'] city=request.POST['city'] zipcode =request.POST['zipcode'] dob=request.POST['dob'] gender =request.POST['gender'] weight =request.POST['weight'] height =request.POST['height'] if(request.session.has_key('user_id')): userid = request.session['user_id'] if User_profile.objects.filter(email = userid).exists(): user = User_profile.objects.create(address = address ,city=city,country=country,zipcode=zipcode,dob=dob,gender=gender,weight=weight,height=height) user.save() return render(request,'app/userProfile.html') else: print ('login first') else: return render(request,'app/login.html') else: return render(request,'app/login.html') -
Django Templates - How to use same block name inside other block?
Hi django lover's actually i am creating a page dynamic page for logged in and logged out users. I want if the user is authenticated then i want show something different instead of my base template. Below is my code and you will surely understand after reading it. That's why i am trying this. Anyone has any idea to do this task in django. Your help will be really appreciable. {% extends 'gymwebapp/basic.html' %} {% if not user.is_authenticated %} {% block d-login %} <div id="dummy-right"> <a href="{% url 'register' %}"><button class="btn">Sign Up</button></a> <a href="{% url 'login' %}"><button class="btn">Login</button></a> </div> {% endblock %} {% block login %} <div class="right"> <a href="{% url 'register' %}"><button class="btn">Sign Up</button></a> <a href="{% url 'login' %}"><button class="btn">Login</button></a> </div> {% endblock %} {% block body %} <section class="form-area"> <div class="form-container"> <div class="form-heading"> <h3>Login</h3> </div> <form action="login" method="POST"> {% csrf_token %} <div class="form"> <input type="email" placeholder="Email" id="email" name="email" maxlength="30" required></br> <input type="password" placeholder="Password" id="pass" name="pass" maxlength="12" required></br> <button class="btn" id="fbtn" type="submit">Submit</button> </div> </form> </div> </section> {% endblock %} {% endif %} {% if user.is_authenticated %} {% block d-login %} <div id="dummy-right"> <a href="{% url 'register' %}"><button class="btn">{{user.first_name}}</button></a> <a href="{% url 'logout' %}"><button class="btn">Logout</button></a> </div> {% endblock %} {% … -
User model not authenticating, but superuser does? in Django
I have made a superuser through createsuperuser from the command line. I have created the following user class. class Teacher(AbstractUser): """ User model """ first_name = models.CharField(max_length=64) subject = models.CharField(max_length=64) USERNAME_FIELD = 'username' I then create a user through the admin screen; but when I want to authenticate using the following code; it user always returns none. except when I use the superuser account. def loginview(request): """Creates Login Screen""" if request.method == "POST": username = request.POST['username'] password = request.POST['password'] # Authenticate User via Django login system. user = authenticate(request, username=username, password=password) print(user) if user is not None: # Confirm credentials are correct. auth_login(request, user) return render(request, "score_board/points.html") else: return render(request, "score_board/loginview.html", {"message": "Wrong username/password!"}) else: return render(request, "score_board/loginview.html") -
geoDjango changing longitude automatically
i'm making a location base web application and for this i'm using geoDjango and postgres . the problem is whenever i try to store some location(latitude/longitude) around dhaka ,it automatically change the longitude. after doing some debugging i found that, whenever longitude cross 90.00, geoDjango save longitude as 89.something . My model: from django.db import models from django.contrib.gis.db import models as locationModels class Advertise(models.Model): house_name = models.CharField(max_length=100, null=True) geoLocation = locationModels.PointField(geography=True, null=True) Example : from django.contrib.gis.geos import Point lat, lng = 23.724609, 88.882694 pnt = Point(lat, lng) add = models.Advertise(geoLocation=pnt,house_name='test1') add.save() add = models.Advertise.objects.filter(house_name='test1') Output of add[0].geoLocation.y is 88.882694 if i change the value of lat,lng to 23.777976, 90.010106, the Output of add[0].geoLocation.y became 89.989894, but it should be 90.010106 can anyone tell me where i'm doing wrong ? -
new user is getting created
this is my models.py class Profile(models.Model): idno=models.AutoField(primary_key=True) name=models.CharField(max_length=30) email=models.CharField(max_length=40) choices = ( ('C', 'C'), ('C++', 'C++'), ('Java', 'Java'), ('Python', 'Python'), ) intrest = models.CharField(max_length=6, choices=choices) marks=models.IntegerField(default=0) this is my views where i am asking the user to choose their intrest def timeline(request): intrest=Profile.objects.all()[0].intrest if intrest =='': if request.method=="POST": choice=request.POST['choice'] print(choice) profile=Profile(intrest=choice) profile.save() this code is creating a new profile with blank name and email how can i save this current information to the same user? -
How to customize Django loaddata so can perform logic before loading the model data
I backed up DB with manage.py dumpdata, I now have a file I wish to use with manage.py loaddata, but I wish to perform some customised logic to the data before loading it. This is because I am migrating the data to a different structure. How does one get the data into python objects so I can perform my customised logic? -
How add image to site on Django?
I need to add one picture to the article. How to do it? Code under. Thanks #models.py from django.db import models from django.contrib.auth.models import User class Post(models.Model): title = models.CharField(max_length=200) slug = models.SlugField(max_length=200) author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='blog_posts') content = models.TextField() created_on = models.DateTimeField(auto_now_add=True) updated_on = models.DateTimeField(auto_now= True) def __str__(self): return self.title -
How to post posts from website (Django Server) to social media accounts (Twitter, LinkedIn and Instagram )
Say someone posts something on our page using the Django admin console, I want to add an option there to post it also on Twitter, LinkedIn and Instagram, So with one click it also goes there. Is there any way to do it? -
Django 3.1 No reverse match at / not a registered namespace error
I'm following an old guide about online store design in django and i faced a weird problem using reverse function inside one of my apps model file. This is the general structure of my project: shop(main project) |-myshop(preview of general website pages) |-utility(some utilities and context processors) |-catalog(catalog related modules of the website) |-cart(shopping cart module) |-manage.py |-db.sqlite3 These are my error related files of project: main urls.py from django.contrib import admin from django.urls import path, include from myshop import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.home_view), path('signup/', views.signup_view, name="signup"), path('sent/', views.activation_sent_view, name="activation_sent"), path('activate/<slug:uidb64>/<slug:token>/', views.activate, name='activate'), path('signin/', views.signin_view, name="signin"), path('logout/', views.logout_view, name="logout"), path('catalog/', include(('catalog.urls', 'catalog'), namespace='catalog')), ] catalog urls.py: from django.urls import path, re_path from catalog import views app_name = 'catalog' urlpatterns = [ re_path(r'^$', views.home_view, name='catalog_home'), re_path(r'^category/(?P<category_slug>[-\w]+)/$', views.show_category, name='catalog_category'), re_path(r'^product/(?P<product_slug>[-\w]+)/$', views.show_product, name='catalog_product'), ] catalog models.py: from django.db import models from django.urls import reverse # Create your models here. class Category(models.Model): name = models.CharField(max_length=50) slug = models.SlugField(max_length=50, unique=True, help_text='Unique value for product page URL, created from name.') description = models.TextField() is_active = models.BooleanField(default=True) meta_keywords = models.CharField("Meta Keywords", max_length=255,help_text='Comma-delimited set of SEO keywords for meta tag') meta_description = models.CharField("Meta Description", max_length=255, help_text='Content for description meta tag') created_at = models.DateTimeField(auto_now_add=True) updated_at … -
Size Restriction of Uploaded Images Django
I want to limit the size of image(Base64) saved to the database. For example, I want the maximum size of image to be 100KB, how can I do that? I'm using Django. -
How to push update of packages/dependencies of your live django website
I have created a django website which now I am looking to deploy through DigitalOcean, I have not uploaded it yet because I want to get a clear picture before actually starting. My questions are, How to I update the packages required for my website once I have deployed my website? Eg: I am using CKEditor 6. In future, when CKEditor 7 arrives how do I update the package so that my website uses the latest CKEditor without losing any data. DigitalOcean deployment works with and without git right? So should I skip git, because I really do not care about versioning my website. Simple update through FTP apps(WinSCP, Filezilla) will work for me.