remotes/origin/setup
ArturBaybulatov 10 years ago
commit 84905246b9
  1. 1
      projects/forms.py
  2. 8
      projects/templates/projects/test_form.html
  3. 5
      projects/urls.py
  4. 37
      projects/views.py
  5. 13
      specializations/templates/specializations/specialization.html
  6. 43
      specializations/templates/specializations/specialization_list.html
  7. 7
      specializations/views.py

@ -34,6 +34,7 @@ class RealtyForm(ModelForm):
'city', 'city',
) )
class PortfolioForm(ModelForm): class PortfolioForm(ModelForm):
class Meta: class Meta:
model = Portfolio model = Portfolio

@ -0,0 +1,8 @@
<h1>Test form</h1>
<form action="" method="post">{% csrf_token %}
{{ form.errors }}
{{ form.as_p }}
{{ second_form.errors }}
{{ second_form.as_p }}
<input type="submit" value="Send message" />
</form>

@ -3,7 +3,7 @@ from django.conf import urls
from .views import ProjectListView, ProjectDetailView, \ from .views import ProjectListView, ProjectDetailView, \
ProjectCreateView, PortfolioCreateView,\ ProjectCreateView, PortfolioCreateView,\
TestProjectView, manage_articles TestProjectView, manage_articles, TestView
app_name = 'projects' app_name = 'projects'
@ -11,7 +11,8 @@ urlpatterns = [
urls.url(r'^$', ProjectListView.as_view(), name='list'), urls.url(r'^$', ProjectListView.as_view(), name='list'),
urls.url(r'^porttest/$', manage_articles, name='portfolio'), urls.url(r'^porttest/$', manage_articles, name='portfolio'),
urls.url(r'^create/$', ProjectCreateView.as_view(), name='project-create'), urls.url(r'^create/$', ProjectCreateView.as_view(), name='project-create'),
urls.url(r'^test/$', TestProjectView.as_view(), name='project-test'), # urls.url(r'^test/$', TestProjectView.as_view(), name='project-test'),
urls.url(r'^test/$', TestView.as_view(), name='project-test'),
urls.url(r'^portfolio/create/$', PortfolioCreateView.as_view(), name='portfolio-create'), urls.url(r'^portfolio/create/$', PortfolioCreateView.as_view(), name='portfolio-create'),
urls.url(r'(?P<pk>\d+)$', ProjectDetailView.as_view(), name='detail'), urls.url(r'(?P<pk>\d+)$', ProjectDetailView.as_view(), name='detail'),
] ]

@ -1,7 +1,7 @@
from django.http import HttpResponseForbidden from django.http import HttpResponseForbidden
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.contrib.auth.mixins import PermissionRequiredMixin from django.contrib.auth.mixins import PermissionRequiredMixin
from django.views.generic import ListView, DetailView, CreateView from django.views.generic import ListView, DetailView, CreateView, View
from django.views.generic.edit import FormMixin from django.views.generic.edit import FormMixin
from .models import Project, Portfolio from .models import Project, Portfolio
@ -75,8 +75,38 @@ class PortfolioCreateView(PermissionRequiredMixin, CreateView):
# import code; code.interact(local=dict(globals(), **locals())) # import code; code.interact(local=dict(globals(), **locals()))
from django.http import HttpResponseRedirect
class TestView(View):
template_name = 'projects/test_form.html'
form_class = RealtyForm
form_second = ProjectForm
class TestProjectView(CreateView): def get(self, request, *args, **kwargs):
form = self.form_class()
second_form = self.form_second(prefix='form_2')
return render(request,self.template_name, {'form': form, 'second_form': second_form})
def post(self, request, *args, **kwargs):
form = self.form_class(request.POST)
second_form = self.form_second(request.POST,prefix='form_2')
if form.is_valid() and second_form.is_valid():
return self.form_valid(request, form, second_form)
return render(request, self.template_name, {'form': form, 'second_form': second_form})
def form_valid(self, request, form, second_form):
realty = second_form.save(commit=False)
realty.user = request.user
realty.save()
project = form.save(commit=False)
project.user = request.user
project.realty = realty
project.save()
def form_invalid(self, form, second_form):
pass
class TestProjectView(View):
model = Project model = Project
form_class = ProjectForm form_class = ProjectForm
template_name = 'projects/test.html' template_name = 'projects/test.html'
@ -95,12 +125,11 @@ class TestProjectView(CreateView):
form_class = self.get_form_class() form_class = self.get_form_class()
form = self.get_form(form_class) form = self.get_form(form_class)
realty_form = RealtyForm(self.request.POST) realty_form = RealtyForm(self.request.POST)
import code; code.interact(local=dict(globals(), **locals())) # import code; code.interact(local=dict(globals(), **locals()))
if form.is_valid(): if form.is_valid():
return self.form_valid(form, realty_form) return self.form_valid(form, realty_form)
else: else:
return self.form_invalid(form, realty_form) return self.form_invalid(form, realty_form)
# import code; code.interact(local=dict(globals(), **locals()))
def form_valid(self, form, realty_form): def form_valid(self, form, realty_form):

@ -0,0 +1,13 @@
{% load staticfiles %}
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Archilance</title>
</head>
<body>
</body>
</html>

@ -7,24 +7,28 @@
{# {% endfor %}#} {# {% endfor %}#}
{##} {##}
{% load mptt_tags %} {% load mptt_tags %}
{# <ul>#} {#<ul>#}
{# {% recursetree object_list %}#} {# {% recursetree object_list %}#}
{# <li>#} {# <li>#}
{# {{ node.name }}#} {# {{ node.name }}#}
{# {% if not node.is_leaf_node %}#} {# {% if not node.is_leaf_node %}#}
{# <ul class="children">#} {# <ul class="children">#}
{# {{ children }}#} {# {{ children }}#}
{# </ul>#} {# </ul>#}
{# {% endif %}#} {# {% endif %}#}
{# </li>#} {# </li>#}
{# {% endrecursetree %}#} {# {% endrecursetree %}#}
{# </ul>#} {#</ul>#}
{% for ch in children %} {% for ch in children %}
<p class="spec_list" data-id="{{ ch.id }}"> {{ ch }} </p> <p class="spec_list" data-id="{{ ch.id }}"> {{ ch }} </p>
{% for ch1 in ch.get_children %} {% for ch1 in ch.get_children %}
{# {{ ch1 }}#} {# {{ ch1 }}#}
{% endfor %} {% endfor %}
{% endfor %} {% endfor %}
<div id="children" style="border:2px solid #000;">
</div>
{% block js_block %} {% block js_block %}
<script type="text/javascript"> <script type="text/javascript">
@ -45,17 +49,22 @@
return cookieValue; return cookieValue;
} }
$('p.spec_list').on('click', function (e) { $('body').on('click','p', function (e) {
e.preventDefault(); e.preventDefault();
var csrftoken = getCookie('csrftoken'); var csrftoken = getCookie('csrftoken');
var spec_id = $(this).attr('data-id'); var spec_id = $(this).attr('data-id')
$.ajax({ $.ajax({
url:'/api/specializations/', url:'/api/specializations?parent=' + spec_id,
type:'GET', type:'GET',
data:{csrfmiddlewaretoken : csrftoken, spec_id: spec_id}, data:{ csrfmiddlewaretoken : csrftoken, spec_id: spec_id},
dataType:'json', dataType:'json',
success:function(json){ success:function(json){
console.log(json); console.log(json.results);
var out = ''
$.each(json.results, function(i,v){
out += '<p data-id="' + v.id + '">' + v.name + '</p>';
});
$('#children').html(out);
} }
}); });
}); });

@ -7,6 +7,7 @@ from .models import Specialization
class SpecListView(ListView): class SpecListView(ListView):
model = Specialization model = Specialization
template_name = 'specialization.html'
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super(SpecListView, self).get_context_data(**kwargs) context = super(SpecListView, self).get_context_data(**kwargs)
@ -27,11 +28,11 @@ def test_page(request):
else: else:
return JsonResponse({"hello":"python"}) return JsonResponse({"hello":"python"})
import json
def test_spec(request): def test_spec(request):
spec = Specialization.objects.get(pk=2) spec = Specialization.objects.get(pk=2)
# children = spec.get_children() children = spec.get_children()
return HttpResponse(request, {'mm':'hello'}) return HttpResponse(json.dumps(children))
class SpecChildrenDetailView(DetailView): class SpecChildrenDetailView(DetailView):
model = Specialization model = Specialization

Loading…
Cancel
Save