diff --git a/instagram/__pycache__/__init__.cpython-36.pyc b/instagram/__pycache__/__init__.cpython-36.pyc index 8115893..f098a57 100644 Binary files a/instagram/__pycache__/__init__.cpython-36.pyc and b/instagram/__pycache__/__init__.cpython-36.pyc differ diff --git a/instagram/__pycache__/settings.cpython-36.pyc b/instagram/__pycache__/settings.cpython-36.pyc index af16132..aa31e45 100644 Binary files a/instagram/__pycache__/settings.cpython-36.pyc and b/instagram/__pycache__/settings.cpython-36.pyc differ diff --git a/instagram/__pycache__/urls.cpython-36.pyc b/instagram/__pycache__/urls.cpython-36.pyc index fbcf44d..483affd 100644 Binary files a/instagram/__pycache__/urls.cpython-36.pyc and b/instagram/__pycache__/urls.cpython-36.pyc differ diff --git a/instagram/__pycache__/wsgi.cpython-36.pyc b/instagram/__pycache__/wsgi.cpython-36.pyc index e398148..0745dd6 100644 Binary files a/instagram/__pycache__/wsgi.cpython-36.pyc and b/instagram/__pycache__/wsgi.cpython-36.pyc differ diff --git a/photoapp/__pycache__/__init__.cpython-36.pyc b/photoapp/__pycache__/__init__.cpython-36.pyc index 026aa9e..ffb0b17 100644 Binary files a/photoapp/__pycache__/__init__.cpython-36.pyc and b/photoapp/__pycache__/__init__.cpython-36.pyc differ diff --git a/photoapp/__pycache__/admin.cpython-36.pyc b/photoapp/__pycache__/admin.cpython-36.pyc index 3a76b5c..7950582 100644 Binary files a/photoapp/__pycache__/admin.cpython-36.pyc and b/photoapp/__pycache__/admin.cpython-36.pyc differ diff --git a/photoapp/__pycache__/apps.cpython-36.pyc b/photoapp/__pycache__/apps.cpython-36.pyc index 00b6421..585ae93 100644 Binary files a/photoapp/__pycache__/apps.cpython-36.pyc and b/photoapp/__pycache__/apps.cpython-36.pyc differ diff --git a/photoapp/__pycache__/forms.cpython-36.pyc b/photoapp/__pycache__/forms.cpython-36.pyc index 9b40b14..e6dfa19 100644 Binary files a/photoapp/__pycache__/forms.cpython-36.pyc and b/photoapp/__pycache__/forms.cpython-36.pyc differ diff --git a/photoapp/__pycache__/models.cpython-36.pyc b/photoapp/__pycache__/models.cpython-36.pyc index b595347..e544851 100644 Binary files a/photoapp/__pycache__/models.cpython-36.pyc and b/photoapp/__pycache__/models.cpython-36.pyc differ diff --git a/photoapp/__pycache__/urls.cpython-36.pyc b/photoapp/__pycache__/urls.cpython-36.pyc index f346b9b..6dadb94 100644 Binary files a/photoapp/__pycache__/urls.cpython-36.pyc and b/photoapp/__pycache__/urls.cpython-36.pyc differ diff --git a/photoapp/__pycache__/views.cpython-36.pyc b/photoapp/__pycache__/views.cpython-36.pyc index aa296ef..be3e99e 100644 Binary files a/photoapp/__pycache__/views.cpython-36.pyc and b/photoapp/__pycache__/views.cpython-36.pyc differ diff --git a/photoapp/forms.py b/photoapp/forms.py index 140f104..0881948 100644 --- a/photoapp/forms.py +++ b/photoapp/forms.py @@ -1,6 +1,6 @@ from django import forms from django.contrib.auth.models import User -from .models import Profile, Post, Comment +from .models import Profile, Post, Comment,cuser from django.contrib.auth.forms import UserCreationForm class UserForm(UserCreationForm): @@ -29,3 +29,9 @@ class Meta: model=Profile fields=('bio','image') + +class searchuform(forms.ModelForm): + class Meta: + model=cuser + fields=('username',) + diff --git a/photoapp/migrations/0017_auto_20210126_1301.py b/photoapp/migrations/0017_auto_20210126_1301.py new file mode 100644 index 0000000..f9575d0 --- /dev/null +++ b/photoapp/migrations/0017_auto_20210126_1301.py @@ -0,0 +1,20 @@ +# Generated by Django 2.0.2 on 2021-01-26 07:31 + +import datetime +from django.db import migrations, models +from django.utils.timezone import utc + + +class Migration(migrations.Migration): + + dependencies = [ + ('photoapp', '0016_auto_20210125_1053'), + ] + + operations = [ + migrations.AlterField( + model_name='comment', + name='date', + field=models.DateTimeField(default=datetime.datetime(2021, 1, 26, 7, 31, 47, 436426, tzinfo=utc)), + ), + ] diff --git a/photoapp/migrations/0017_auto_20210130_0138.py b/photoapp/migrations/0017_auto_20210130_0138.py new file mode 100644 index 0000000..3b89656 --- /dev/null +++ b/photoapp/migrations/0017_auto_20210130_0138.py @@ -0,0 +1,20 @@ +# Generated by Django 2.0.2 on 2021-01-29 20:08 + +import datetime +from django.db import migrations, models +from django.utils.timezone import utc + + +class Migration(migrations.Migration): + + dependencies = [ + ('photoapp', '0016_auto_20210125_1053'), + ] + + operations = [ + migrations.AlterField( + model_name='comment', + name='date', + field=models.DateTimeField(default=datetime.datetime(2021, 1, 29, 20, 8, 31, 868623, tzinfo=utc)), + ), + ] diff --git a/photoapp/migrations/0018_auto_20210130_0256.py b/photoapp/migrations/0018_auto_20210130_0256.py new file mode 100644 index 0000000..c16eddb --- /dev/null +++ b/photoapp/migrations/0018_auto_20210130_0256.py @@ -0,0 +1,20 @@ +# Generated by Django 2.0.2 on 2021-01-29 21:26 + +import datetime +from django.db import migrations, models +from django.utils.timezone import utc + + +class Migration(migrations.Migration): + + dependencies = [ + ('photoapp', '0017_auto_20210130_0138'), + ] + + operations = [ + migrations.AlterField( + model_name='comment', + name='date', + field=models.DateTimeField(default=datetime.datetime(2021, 1, 29, 21, 26, 11, 838287, tzinfo=utc)), + ), + ] diff --git a/photoapp/migrations/0019_auto_20210130_0257.py b/photoapp/migrations/0019_auto_20210130_0257.py new file mode 100644 index 0000000..bbd21f8 --- /dev/null +++ b/photoapp/migrations/0019_auto_20210130_0257.py @@ -0,0 +1,27 @@ +# Generated by Django 2.0.2 on 2021-01-29 21:27 + +import datetime +from django.db import migrations, models +from django.utils.timezone import utc + + +class Migration(migrations.Migration): + + dependencies = [ + ('photoapp', '0018_auto_20210130_0256'), + ] + + operations = [ + migrations.CreateModel( + name='cuser', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('username', models.CharField(max_length=500)), + ], + ), + migrations.AlterField( + model_name='comment', + name='date', + field=models.DateTimeField(default=datetime.datetime(2021, 1, 29, 21, 27, 26, 629021, tzinfo=utc)), + ), + ] diff --git a/photoapp/migrations/0020_merge_20210130_1317.py b/photoapp/migrations/0020_merge_20210130_1317.py new file mode 100644 index 0000000..0f7d7ae --- /dev/null +++ b/photoapp/migrations/0020_merge_20210130_1317.py @@ -0,0 +1,14 @@ +# Generated by Django 2.0.2 on 2021-01-30 07:47 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('photoapp', '0017_auto_20210126_1301'), + ('photoapp', '0019_auto_20210130_0257'), + ] + + operations = [ + ] diff --git a/photoapp/migrations/0021_auto_20210130_2344.py b/photoapp/migrations/0021_auto_20210130_2344.py new file mode 100644 index 0000000..06b5949 --- /dev/null +++ b/photoapp/migrations/0021_auto_20210130_2344.py @@ -0,0 +1,25 @@ +# Generated by Django 2.0.2 on 2021-01-30 18:14 + +import datetime +from django.db import migrations, models +from django.utils.timezone import utc + + +class Migration(migrations.Migration): + + dependencies = [ + ('photoapp', '0020_merge_20210130_1317'), + ] + + operations = [ + migrations.AddField( + model_name='post', + name='nolike', + field=models.CharField(default='0', max_length=200), + ), + migrations.AlterField( + model_name='comment', + name='date', + field=models.DateTimeField(default=datetime.datetime(2021, 1, 30, 18, 14, 58, 51365, tzinfo=utc)), + ), + ] diff --git a/photoapp/migrations/__pycache__/0001_initial.cpython-36.pyc b/photoapp/migrations/__pycache__/0001_initial.cpython-36.pyc index 980b38c..47579bc 100644 Binary files a/photoapp/migrations/__pycache__/0001_initial.cpython-36.pyc and b/photoapp/migrations/__pycache__/0001_initial.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0002_auto_20191218_0717.cpython-36.pyc b/photoapp/migrations/__pycache__/0002_auto_20191218_0717.cpython-36.pyc index ddd76e0..bbd5d24 100644 Binary files a/photoapp/migrations/__pycache__/0002_auto_20191218_0717.cpython-36.pyc and b/photoapp/migrations/__pycache__/0002_auto_20191218_0717.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0003_post_image.cpython-36.pyc b/photoapp/migrations/__pycache__/0003_post_image.cpython-36.pyc index a85fb05..b446019 100644 Binary files a/photoapp/migrations/__pycache__/0003_post_image.cpython-36.pyc and b/photoapp/migrations/__pycache__/0003_post_image.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0004_auto_20191218_1037.cpython-36.pyc b/photoapp/migrations/__pycache__/0004_auto_20191218_1037.cpython-36.pyc index 0602355..30b04fb 100644 Binary files a/photoapp/migrations/__pycache__/0004_auto_20191218_1037.cpython-36.pyc and b/photoapp/migrations/__pycache__/0004_auto_20191218_1037.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0005_auto_20191218_1052.cpython-36.pyc b/photoapp/migrations/__pycache__/0005_auto_20191218_1052.cpython-36.pyc index e365bf3..454fa78 100644 Binary files a/photoapp/migrations/__pycache__/0005_auto_20191218_1052.cpython-36.pyc and b/photoapp/migrations/__pycache__/0005_auto_20191218_1052.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0006_auto_20191218_1106.cpython-36.pyc b/photoapp/migrations/__pycache__/0006_auto_20191218_1106.cpython-36.pyc index 6122798..13ec160 100644 Binary files a/photoapp/migrations/__pycache__/0006_auto_20191218_1106.cpython-36.pyc and b/photoapp/migrations/__pycache__/0006_auto_20191218_1106.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0007_profile_followers.cpython-36.pyc b/photoapp/migrations/__pycache__/0007_profile_followers.cpython-36.pyc index cf92f23..3a594e4 100644 Binary files a/photoapp/migrations/__pycache__/0007_profile_followers.cpython-36.pyc and b/photoapp/migrations/__pycache__/0007_profile_followers.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0008_comment.cpython-36.pyc b/photoapp/migrations/__pycache__/0008_comment.cpython-36.pyc index 66b9dfd..836ab71 100644 Binary files a/photoapp/migrations/__pycache__/0008_comment.cpython-36.pyc and b/photoapp/migrations/__pycache__/0008_comment.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0009_auto_20191226_1000.cpython-36.pyc b/photoapp/migrations/__pycache__/0009_auto_20191226_1000.cpython-36.pyc index 74ffca3..3c51d81 100644 Binary files a/photoapp/migrations/__pycache__/0009_auto_20191226_1000.cpython-36.pyc and b/photoapp/migrations/__pycache__/0009_auto_20191226_1000.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0010_auto_20200117_1515.cpython-36.pyc b/photoapp/migrations/__pycache__/0010_auto_20200117_1515.cpython-36.pyc index 23d3d04..422a07e 100644 Binary files a/photoapp/migrations/__pycache__/0010_auto_20200117_1515.cpython-36.pyc and b/photoapp/migrations/__pycache__/0010_auto_20200117_1515.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0011_auto_20200117_1519.cpython-36.pyc b/photoapp/migrations/__pycache__/0011_auto_20200117_1519.cpython-36.pyc index 1c9ebef..6551d07 100644 Binary files a/photoapp/migrations/__pycache__/0011_auto_20200117_1519.cpython-36.pyc and b/photoapp/migrations/__pycache__/0011_auto_20200117_1519.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0012_auto_20200122_1626.cpython-36.pyc b/photoapp/migrations/__pycache__/0012_auto_20200122_1626.cpython-36.pyc index 85c1c0e..62bec3d 100644 Binary files a/photoapp/migrations/__pycache__/0012_auto_20200122_1626.cpython-36.pyc and b/photoapp/migrations/__pycache__/0012_auto_20200122_1626.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0013_auto_20200123_1409.cpython-36.pyc b/photoapp/migrations/__pycache__/0013_auto_20200123_1409.cpython-36.pyc index f159901..beca3c4 100644 Binary files a/photoapp/migrations/__pycache__/0013_auto_20200123_1409.cpython-36.pyc and b/photoapp/migrations/__pycache__/0013_auto_20200123_1409.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0014_auto_20200125_0710.cpython-36.pyc b/photoapp/migrations/__pycache__/0014_auto_20200125_0710.cpython-36.pyc index eaf01f9..e20c35b 100644 Binary files a/photoapp/migrations/__pycache__/0014_auto_20200125_0710.cpython-36.pyc and b/photoapp/migrations/__pycache__/0014_auto_20200125_0710.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/0015_auto_20200126_1011.cpython-36.pyc b/photoapp/migrations/__pycache__/0015_auto_20200126_1011.cpython-36.pyc index 9effd54..78dcac2 100644 Binary files a/photoapp/migrations/__pycache__/0015_auto_20200126_1011.cpython-36.pyc and b/photoapp/migrations/__pycache__/0015_auto_20200126_1011.cpython-36.pyc differ diff --git a/photoapp/migrations/__pycache__/__init__.cpython-36.pyc b/photoapp/migrations/__pycache__/__init__.cpython-36.pyc index e3106db..6f2c208 100644 Binary files a/photoapp/migrations/__pycache__/__init__.cpython-36.pyc and b/photoapp/migrations/__pycache__/__init__.cpython-36.pyc differ diff --git a/photoapp/models.py b/photoapp/models.py index b65f2e3..509c950 100644 --- a/photoapp/models.py +++ b/photoapp/models.py @@ -32,6 +32,7 @@ class Post(models.Model): location=models.TextField() date_posted = models.DateTimeField(default=timezone.now) author=models.ForeignKey(User,on_delete=models.CASCADE) + nolike=models.CharField(default='0',max_length=200) def __str__(self): @@ -54,4 +55,6 @@ class Likes(models.Model): def __str__(self): return str(self.post) +class cuser(models.Model): + username=models.CharField(max_length=500) diff --git a/photoapp/templates/photoapp/invalidsearch.html b/photoapp/templates/photoapp/invalidsearch.html new file mode 100644 index 0000000..b050a7b --- /dev/null +++ b/photoapp/templates/photoapp/invalidsearch.html @@ -0,0 +1,2 @@ +

NO SUCH USER FOUND!

+ diff --git a/photoapp/templates/photoapp/postlist.html b/photoapp/templates/photoapp/postlist.html index 5d36fbd..6d89a54 100644 --- a/photoapp/templates/photoapp/postlist.html +++ b/photoapp/templates/photoapp/postlist.html @@ -18,9 +18,11 @@

THE {% for i in posts %}
-

{{i.author}}



- +
+Likes:{{i.nolike}} +{{i.Likes.count}}
+add comment

{{i.caption}}


{{i.date_posted}}
diff --git a/photoapp/templates/photoapp/search.html b/photoapp/templates/photoapp/search.html new file mode 100644 index 0000000..17fba12 --- /dev/null +++ b/photoapp/templates/photoapp/search.html @@ -0,0 +1,6 @@ +
+ +{{form.username}} +{% csrf_token %} +
+
\ No newline at end of file diff --git a/photoapp/templates/photoapp/show.html b/photoapp/templates/photoapp/show.html new file mode 100644 index 0000000..14fe928 --- /dev/null +++ b/photoapp/templates/photoapp/show.html @@ -0,0 +1,5 @@ +

USER:

+ +
USERNAME:{{k.username}} +
NAME:{{k.first_name|title}} {{k.last_name|title}} +
Email:{{k.email}} diff --git a/photoapp/templates/photoapp/update_profile.html b/photoapp/templates/photoapp/update_profile.html index 152926d..e847c0c 100644 --- a/photoapp/templates/photoapp/update_profile.html +++ b/photoapp/templates/photoapp/update_profile.html @@ -2,6 +2,7 @@ Instagram Upadte Profile +

DELETE PROFILE

{% csrf_token %} {{ form.as_p }} diff --git a/photoapp/templates/photoapp/viewpost.html b/photoapp/templates/photoapp/viewpost.html index 4be2049..c173463 100644 --- a/photoapp/templates/photoapp/viewpost.html +++ b/photoapp/templates/photoapp/viewpost.html @@ -13,8 +13,8 @@

User is -{{posts.author}}


{{posts.caption}}



likes is -{{l}}
- - + +
add comment
{% for i in co %} diff --git a/photoapp/urls.py b/photoapp/urls.py index a975a17..b3d427e 100644 --- a/photoapp/urls.py +++ b/photoapp/urls.py @@ -16,4 +16,5 @@ path('home//create_comment',views.create_comment,name='create-comment'), path('home//like_post', views.like_post, name='like-post'), + path('home/search',views.searchuser,name='searchuser'), ] \ No newline at end of file diff --git a/photoapp/views.py b/photoapp/views.py index e191952..80a9bb9 100644 --- a/photoapp/views.py +++ b/photoapp/views.py @@ -3,7 +3,7 @@ from django.contrib.auth import authenticate, login, logout from django.contrib.auth.decorators import login_required -from .forms import UserForm,CreatePostForm,UpdatePostForm,CreateCommentForm, UpdateProfileForm +from .forms import UserForm,CreatePostForm,UpdatePostForm,CreateCommentForm, UpdateProfileForm,searchuform from django.contrib.auth.models import User from .models import Profile,Post, Comment, Likes from django.core.files.storage import FileSystemStorage @@ -89,7 +89,7 @@ def home(request): print(users) pk=request.user - + #m=[] following=[] posts=Post.objects.order_by("-date_posted") for i in users: @@ -103,8 +103,17 @@ def home(request): following.append(i.pk) #print(following) + for n in posts: + k=Likes.objects.filter(post=n) + tno=k.count() + n.nolike=tno + #print(n.nolike) + #print(n.id) + #m.insert(n.id,tno) + post_list=posts - #print(post_list) + #print(m) + print(post_list) return render(request,'photoapp/postlist.html',{'posts':post_list}) def confirm_delete(request,key): @@ -177,6 +186,7 @@ def create_comment(request,key): next = request.POST.get('next',None) #return HttpResponseRedirect(next) #return redirect('/home/key/') + return redirect('/home/%s' % key ) else: form=CreateCommentForm() @@ -186,17 +196,65 @@ def create_comment(request,key): return render(request,'photoapp/create_comment.html',{'form':form}) def like_post(request,key): posts=Post.objects.get(id=key) + t=1 liked=Likes() liked.post=posts - liked.users=request.user - liked.save() - return redirect('/home/%s' % key ) - - - + liky=Likes.objects.filter(post=posts) + print('3') + for lik in liky: + if (lik.users==request.user): + t=0 + break + if t: + liked.users=request.user + liked.save() + else: + lik.delete() + + + return redirect('/home') + +def searchuser(request): + if request.method=='POST': + #print('2') + t=0 + form=searchuform(request.POST) + usn=User.objects.all() + #print(len(usn)) + #f=form.cleaned_data['username'] + #print(form) + #for i in usn: + #if i.username==form.username: + #print(i.username) + + + if form.is_valid(): + #print('17') + #print(form) + f=form.cleaned_data['username'] + #print(f) + for k in usn: + if k.username==f: + #print(k.last_name) + t=1 + break + if t: + return render(request,'photoapp/show.html',{'k':k}) + else: + return render(request,'photoapp/invalidsearch.html') + # print('1') + # j=form.save(commit=False) + # usinst=User.objects.get(username=j.username) + # print(usinst) + # return render(request,'show.html',{'usinst':usinst}) + #else: + # form=searchuform() + else: + form=searchuform() + return render(request,'photoapp/search.html',{'form':form})