adding new tags from student_page to backend
This commit is contained in:
parent
8ae45354f0
commit
5a30a0adea
@ -1,8 +1,15 @@
|
||||
from django import forms
|
||||
from .models import Post, CustomUser
|
||||
from taggit.forms import *
|
||||
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
|
||||
|
||||
class PostForm(forms.ModelForm):
|
||||
published_date = forms.DateField(widget=forms.widgets.DateInput(format="%d. %h %Y, %M:%S"))
|
||||
class Meta:
|
||||
model = Post
|
||||
fields = ('title', 'text', 'published_date', 'tags')
|
||||
fields = ('title', 'text', 'published_date', 'tags')
|
||||
|
||||
class NewTagForm(forms.ModelForm):
|
||||
m_tags = TagField()
|
||||
class Meta:
|
||||
model = CustomUser
|
||||
fields = ['m_tags']
|
||||
|
@ -4,8 +4,8 @@ from django.utils import timezone
|
||||
from taggit.managers import TaggableManager
|
||||
|
||||
class CustomUser(models.Model):
|
||||
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
||||
mytags = TaggableManager()
|
||||
user = models.OneToOneField(User, null = True, on_delete=models.CASCADE)
|
||||
tags = TaggableManager()
|
||||
|
||||
|
||||
class Post(models.Model):
|
||||
|
@ -10,4 +10,10 @@
|
||||
<table class="table table-striped table-bordered table-hover">
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<form class="post-form" method="post">
|
||||
{% csrf_token %}
|
||||
{{form.as_p}}
|
||||
<button type="submit" class="save btn btn-outline-dark">Save</button>
|
||||
</form>
|
||||
{% endblock %}
|
@ -1,7 +1,7 @@
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
from django.utils import timezone
|
||||
from .models import Post
|
||||
from .forms import PostForm
|
||||
from .models import Post, CustomUser
|
||||
from .forms import PostForm, NewTagForm
|
||||
from django.shortcuts import redirect
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.admin.views.decorators import staff_member_required
|
||||
@ -111,12 +111,24 @@ def post_remove(request, pk):
|
||||
|
||||
@login_required
|
||||
def student_page(request):
|
||||
q = request.GET.get('q')
|
||||
query = Q()
|
||||
for word in q or []:
|
||||
query = query | Q(tags__name__icontains=word)
|
||||
result = Post.objects.filter(query)
|
||||
return render(request, 'blog_search_list_view.html', {'result':result})
|
||||
user_instance = CustomUser.objects.get(user=request.user)
|
||||
if request.method == "POST":
|
||||
form = NewTagForm(request.POST, instance=user_instance)
|
||||
if form.is_valid():
|
||||
obj = form.save(commit=False)
|
||||
obj.user = request.user
|
||||
obj.save()
|
||||
m_tags = form.cleaned_data['m_tags']
|
||||
obj.tags.add(*m_tags)
|
||||
form.save_m2m()
|
||||
return redirect('/student/')
|
||||
|
||||
else:
|
||||
form = NewTagForm()
|
||||
|
||||
return render(request, 'student_page.html', {'form':form})
|
||||
|
||||
|
||||
|
||||
|
||||
class TagSearch(TagCanvasListView):
|
||||
|
Loading…
x
Reference in New Issue
Block a user