Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions website/recursion_website/forms.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from django import forms
from .models import *
from django.contrib.auth.models import User

from . import models

class Questionform(forms.ModelForm):
title = models.CharField(max_length=100)
Expand Down Expand Up @@ -38,4 +38,10 @@ class Commentform(forms.ModelForm):

class Meta:
model = Comments
fields = ('body',)
fields = ('body',)

class CreateMember(forms.ModelForm):
class Meta:
model = models.Members
fields=['name','year','position','branch','contact_details','experience']

14 changes: 14 additions & 0 deletions website/recursion_website/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,20 @@
from django.contrib.auth.models import User

# Done

class Members(models.Model):

name = models.CharField(max_length=100)
year = models.CharField(max_length=20)
position = models.CharField(max_length=100)
branch = models.CharField(max_length=100)
contact_details = models.CharField(max_length=200)
experience = models.CharField(max_length=500)
class Meta:
managed = True
db_table = 'members'

#Done
class Questions(models.Model):
title = models.CharField(max_length=100)
description = models.TextField(blank=True, null=True)
Expand Down
7 changes: 1 addition & 6 deletions website/recursion_website/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,5 @@
</title>

</head>
<body>
</html>

{% block content %}
{% endblock %}

</body>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{% extends 'base.html' %}

{% block content %}
<div class="create-member">
<h2>Register a New Member</h2>
<form class="site-form" action="{% url 'recursion_website:create' %}" method="post">
{% csrf_token %}
{{form.as_p}}
<input type="Submit" value="Create">
</form>
</div>

{% endblock %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{% extends 'base.html' %}

{% block content %}
<div class="create-member">
<h2>Edit Member</h2>
<form method="post">
{% csrf_token %}
{{form.as_p}}
<input type="Submit" value="Save">
</form>
</div>

{% endblock %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{% extends 'base.html' %}

{% block content %}
<div class="member-list">
<h2>Members:</h2>
{% for member in members %}
<h3>Name : {{ member.name }}</h3>
<h3>Year : {{ member.year }}</h3>
<h3>Position : {{ member.position }}</h3>
<h3>Branch : {{ member.branch }}</h3>
<h3>Contact Details : {{ member.contact_details }}</h3>
<h3>Experience : {{ member.experience }}</h3>
<a class="btn btn-warning" href="{% url 'recursion_website:edit' member.id %}">Edit</a>
<a class="btn btn-danger" href="{% url 'recursion_website:delete' member.id %}">Delete</a>
{% endfor %}
</div>

{% endblock %}
9 changes: 8 additions & 1 deletion website/recursion_website/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,24 @@
from .views import *
from django.conf.urls import include,url
from django.conf import settings
from django.contrib import admin
from . import views
app_name = 'recursion_website'


urlpatterns = [
path('add', add_question, name='add_question'),
path('', list_questions ,name='list_questions'),
path('detail/<int:id>/', detail_questions, name='detail_questions'),
path('update/<int:id>/', update_questions, name='update_question'),

path('question/<int:id>/answer',add_answer,name='add_answer'),
path('answer/<int:id>',update_answer,name='update_answer'),
path('answer/<int:id>/vote', voting, name='voting'),
path('follow/<int:id>/', edit_following, name='edit_following'),
path('comment/<int:id>/', add_comment, name='add_comment'),
path('editcomment/<int:id>/', update_comment, name='update_comment'),
path('list/', views.member_list, name="list"),
path('create/',views.member_create, name="create"),
path('<int:id>/edit/',views.member_edit, name="edit"),
path('<int:id>/delete/',views.member_delete, name="delete")
]
39 changes: 37 additions & 2 deletions website/recursion_website/views.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

from django.contrib.auth.decorators import login_required
from django.shortcuts import render
from django.shortcuts import render, redirect,get_object_or_404, get_list_or_404
Expand All @@ -15,7 +14,9 @@
from django.conf import settings
from django.forms import modelformset_factory
from itertools import chain

from recursion_website.models import Members
from django.contrib.auth.models import User
from . import forms
@login_required
def home(request):
return render(request, 'home.html')
Expand Down Expand Up @@ -250,4 +251,38 @@ def voting(request, id):
upvote = Upvotes.objects.create(answer=answer, user=user)
upvote.save()
return HttpResponseRedirect(reverse('detail_questions', args=(question.id,)))
def member_list(request):

members = Members.objects.all().order_by('id')
args={'form' : forms.CreateMember , 'members' : members}
return render(request, 'recursion_website/members/members_list.html' , args)
def member_create(request):
if request.method == "POST":
form=forms.CreateMember(request.POST)
if form.is_valid():
#save member to database
new_member=form.save(commit=False)
new_member.save()
return redirect('recursion_website:list')

else:
form=forms.CreateMember()
return render(request,'recursion_website/members/members_create.html',{'form':form})

def member_edit(request, id=None):
member=get_object_or_404(Members,id=id)
form = forms.CreateMember(request.POST or None, instance=member)
if request.method == 'POST':
if form.is_valid():
form.save()
return redirect('recursion_website:list')

else:
return render(request, 'recursion_website/members/members_edit.html',{'form':form})

def member_delete(request, id=None):
member=get_object_or_404(Members,id=id)
if request.method == 'GET':
member.delete()
return redirect('recursion_website:list')

12 changes: 9 additions & 3 deletions website/website/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,19 @@
from django.contrib.auth import views as auth_views
from django.urls import path,include
from recursion_website import views
from django.urls import path,include
app_name='website'

urlpatterns = [
path('admin/', admin.site.urls),
path('admin/', admin.site.urls,name="admin"),
path('', views.home, name='home'),
path('login/', auth_views.LoginView.as_view(), name='login'),
path('logout/', auth_views.LogoutView.as_view(), name='logout'),
path('oauth/', include('social_django.urls', namespace='social')),
path('forum/',include('recursion_website.urls'))

path('forum/',include('recursion_website.urls')),
path('members/',include('recursion_website.urls'))
]