Skip to content

Commit dd02fe1

Browse files
forum added
1 parent 33432ef commit dd02fe1

32 files changed

+298
-2
lines changed

DataFlair_discsForum/__init__.py

Whitespace-only changes.

DataFlair_discsForum/admin.py

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.contrib import admin
2+
from .models import *
3+
4+
# Register your models here.
5+
admin.site.register(forum)
6+
admin.site.register(Discussion)

DataFlair_discsForum/apps.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from django.apps import AppConfig
2+
3+
4+
class DataflairDiscsforumConfig(AppConfig):
5+
name = 'DataFlair_discsForum'

DataFlair_discsForum/forms.py

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from django.forms import ModelForm
2+
from .models import *
3+
4+
class CreateInForum(ModelForm):
5+
class Meta:
6+
model= forum
7+
fields = "__all__"
8+
9+
class CreateInDiscussion(ModelForm):
10+
class Meta:
11+
model= Discussion
12+
fields = "__all__"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Generated by Django 3.1.5 on 2021-01-11 14:39
2+
3+
from django.db import migrations, models
4+
import django.db.models.deletion
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
initial = True
10+
11+
dependencies = [
12+
]
13+
14+
operations = [
15+
migrations.CreateModel(
16+
name='forum',
17+
fields=[
18+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
19+
('name', models.CharField(default='anonymous', max_length=200)),
20+
('email', models.CharField(max_length=200, null=True)),
21+
('topic', models.CharField(max_length=300)),
22+
('description', models.CharField(blank=True, max_length=1000)),
23+
('link', models.CharField(max_length=100, null=True)),
24+
('date_created', models.DateTimeField(auto_now_add=True, null=True)),
25+
],
26+
),
27+
migrations.CreateModel(
28+
name='Discussion',
29+
fields=[
30+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
31+
('discuss', models.CharField(max_length=1000)),
32+
('forum', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='DataFlair_discsForum.forum')),
33+
],
34+
),
35+
]

DataFlair_discsForum/migrations/__init__.py

Whitespace-only changes.

DataFlair_discsForum/models.py

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from django.db import models
2+
3+
#parent model
4+
class forum(models.Model):
5+
name=models.CharField(max_length=200,default="anonymous" )
6+
email=models.CharField(max_length=200,null=True)
7+
topic= models.CharField(max_length=300)
8+
description = models.CharField(max_length=1000,blank=True)
9+
link = models.CharField(max_length=100 ,null =True)
10+
date_created=models.DateTimeField(auto_now_add=True,null=True)
11+
12+
def __str__(self):
13+
return str(self.topic)
14+
15+
#child model
16+
class Discussion(models.Model):
17+
forum = models.ForeignKey(forum,blank=True,on_delete=models.CASCADE)
18+
discuss = models.CharField(max_length=1000)
19+
20+
def __str__(self):
21+
return str(self.forum)
+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
{% load static %}
2+
<!DOCTYPE html>
3+
<html lang="en">
4+
<head>
5+
<meta charset="UTF-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<title>DataFlair discussion forum</title>
8+
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"0>
9+
<style>
10+
11+
.box{
12+
border: 2px solid black;
13+
margin: 0 auto;
14+
/* background-color:#2F4F4F;*/
15+
background-color: #2bd44b;
16+
color: #ffffff;
17+
border-radius: 1%;
18+
19+
}
20+
.space{
21+
padding: 10px;
22+
line-height: 10px;
23+
font-family:'Lato', sans-serif;
24+
background-color:#e3ae64;
25+
color: #fff;
26+
27+
28+
}
29+
@media only screen and (max-width: 450px){
30+
.box card box container{
31+
display: block;
32+
width:fit-content;
33+
padding: 10px;
34+
35+
36+
}
37+
}
38+
39+
.bg{
40+
background-size: 1800px 900px;
41+
background-repeat: no-repeat;
42+
background-position: top;
43+
background-attachment: fixed;
44+
45+
46+
47+
48+
}
49+
50+
51+
52+
</style>
53+
</head>
54+
<body id="bg " style="background-color: url('{% static 'img/rotary.jpg' %}');">
55+
<h2 class="jumbotron">
56+
Currently active forums: {{count}}
57+
<form method="POST" action="{% url 'addInForum' %}">
58+
{% csrf_token %}
59+
<button class="btn btn-success" style="width:fit-content; padding: 4px; margin:10px;">Add more</button>
60+
</form>
61+
</h2>
62+
<div class="card-columns" style="padding: 10px; margin: 20px;"></div>
63+
64+
<!--- added---> <div class="extra">
65+
{%for forum in forums %}
66+
67+
<div class="card box container">
68+
<br>
69+
<h5 class="card-title">
70+
<a href='{{forum.link}}'><h3>{{forum.topic}}</h3></a>
71+
<div class="card-body container">
72+
<p>{{forum.description}}</p>
73+
</h5>
74+
<hr>
75+
<p> By: {{forum.name}}</p>
76+
email- {{forum.email}}
77+
<hr>
78+
<h4>Views from other users</h4>
79+
{%for discuss in discussions%}
80+
{%for objs in discuss%}
81+
82+
{% if objs.forum == forum %}
83+
<div class="space">
84+
{{objs.discuss}}
85+
</div>
86+
{% endif %}
87+
{%endfor%}
88+
<br>
89+
{%endfor%}
90+
<form method="POST" action="{% url 'addInDiscussion' %}">
91+
{% csrf_token %}
92+
<button class="btn btn-success" style="width:fit-content; padding: 4px; margin:10px;">post here</button>
93+
</form>
94+
</div>
95+
</div>
96+
</div>
97+
<!-- added--> </div>
98+
<br>
99+
100+
{%endfor%}
101+
102+
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
103+
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
104+
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
105+
</body>
106+
</html>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<head>
2+
<style>
3+
form{
4+
border:4px solid black;
5+
margin: 0 auto;
6+
padding: 50px;
7+
width: fit-content;
8+
height: 300px;
9+
}
10+
11+
12+
div{
13+
14+
display: block;
15+
height: 1
16+
00px;
17+
width: 200px;
18+
padding: 10%;
19+
20+
21+
}
22+
</style>
23+
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"0>
24+
25+
</head>
26+
<div class="container">
27+
<form action="{% url 'addInDiscussion' %}" method="POST">
28+
{% csrf_token %}
29+
{{form.as_p}}
30+
<input type="submit" class="btn btn-success" value="submit">
31+
</form>
32+
</div>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{% load static %}
2+
<head>
3+
<style>
4+
form{
5+
border:4px solid black;
6+
margin: 0 auto;
7+
padding: 40px;
8+
width: fit-content;
9+
}
10+
11+
body{
12+
background:url({% static 'img/rotary.jpg' %});
13+
14+
15+
}
16+
17+
</style>
18+
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"0>
19+
20+
</head>
21+
<body>
22+
<form action="{% url 'addInForum' %}" method="POST">
23+
{% csrf_token %}
24+
{{form.as_p}}
25+
<input type="submit" class="btn btn-success" value="submit">
26+
</form>
27+
</body>

DataFlair_discsForum/tests.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.test import TestCase
2+
3+
# Create your tests here.

DataFlair_discsForum/urls.py

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from django.urls import path, include
2+
from .import views
3+
4+
urlpatterns = [
5+
path('',views.home,name='home'),
6+
path('addInForum/',views.addInForum,name='addInForum'),
7+
path('addInDiscussion/',views.addInDiscussion,name='addInDiscussion'),
8+
]
9+

DataFlair_discsForum/views.py

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
from django.shortcuts import render,redirect
2+
from .models import *
3+
from .forms import *
4+
# Create your views here.
5+
6+
def home(request):
7+
forums=forum.objects.all()
8+
count=forums.count()
9+
discussions=[]
10+
for i in forums:
11+
discussions.append(i.discussion_set.all())
12+
13+
context={'forums':forums,
14+
'count':count,
15+
'discussions':discussions}
16+
return render(request,'home.html',context)
17+
18+
def addInForum(request):
19+
form = CreateInForum()
20+
if request.method == 'POST':
21+
form = CreateInForum(request.POST)
22+
if form.is_valid():
23+
form.save()
24+
return redirect('/')
25+
context ={'form':form}
26+
return render(request,'addInForum.html',context)
27+
28+
def addInDiscussion(request):
29+
form = CreateInDiscussion()
30+
if request.method == 'POST':
31+
form = CreateInDiscussion(request.POST)
32+
if form.is_valid():
33+
form.save()
34+
return redirect('/')
35+
context ={'form':form}
36+
return render(request,'addInDiscussion.html',context)

Main/settings.py

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
'django.contrib.messages',
4141
'django.contrib.staticfiles',
4242
'social_django',
43+
'DataFlair_discsForum',
4344

4445

4546
]

Main/urls.py

+3
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,19 @@
1616
from django.contrib import admin
1717
from django.urls import path, include
1818
from Users import views as users_views
19+
from DataFlair_discsForum import views
1920
from django.contrib.auth import views as auth_views
2021
from django.conf import settings
2122
from django.conf.urls.static import static
2223

2324

2425

2526

27+
2628
urlpatterns = [
2729
path('admin/', admin.site.urls),
2830
path('', include('webapp.urls')),
31+
path('forum/', include('DataFlair_discsForum.urls')),
2932
path('login/', users_views.login, name="Users-login"),
3033
path('oauth/', include('social_django.urls', namespace='social')), #path of social login
3134
]
22 Bytes
Binary file not shown.
22 Bytes
Binary file not shown.

Users/__pycache__/apps.cpython-38.pyc

22 Bytes
Binary file not shown.
22 Bytes
Binary file not shown.
22 Bytes
Binary file not shown.
22 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.

templates/NotebookSecondary.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
}
5959
</style>
6060

61-
<form style="float:right;"class="form-inline d-none d-sm-inline-block mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search" method="get" action="{% url "searchbar" %}">
61+
<form style="float:right;"class="form-inline d-none d-sm-inline-block mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search" method="get" action="{% url 'searchbar' %}">
6262
<div class="input-group"><input class="bg-light form-control border-0 small" type="text" name="search" placeholder="Search for ...">
6363
<div class="input-group-append"><button class="btn btn-primary py-0" type="submit" style="background: rgb(0,128,0);">🔍</button></div>
6464
</div>

templates/Secondarylogin.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@
123123
<ul class="nav navbar-nav ml-auto">
124124
<li class="nav-item" style="font-size: larger"><a class="nav-link" href="{% url 'Users-Homepage' %}">Home&nbsp;&nbsp;&nbsp;</a></li>
125125
<li class="nav-item" style="font-size: larger"><a class="nav-link" href="{% url 'Users-about' %}">About Us&nbsp;&nbsp;&nbsp;</a></li>
126-
<li class="nav-item" style="font-size: larger"><a class="nav-link" href="{% url 'Users-Homepage' %}">Forums&nbsp;&nbsp;&nbsp;</a></li>
126+
<li class="nav-item" style="font-size: larger"><a class="nav-link" href="{% url 'home' %}">Forums&nbsp;&nbsp;&nbsp;</a></li>
127127
<li class="nav-item" style="font-size: larger"><a class="nav-link" href="{% url 'Users-Homepage' %}">Contact Us&nbsp;&nbsp;&nbsp;</a></li>
128128
<li class="nav-item" style="font-size: larger"><a class="nav-link" href="{% url 'Users-profile' %}">Profile&nbsp;&nbsp;&nbsp;<i class="far fa-user"></i></a></li>
129129
</ul>
22 Bytes
Binary file not shown.
22 Bytes
Binary file not shown.
22 Bytes
Binary file not shown.
22 Bytes
Binary file not shown.
66 Bytes
Binary file not shown.
287 Bytes
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)