Skip to content

Instantly share code, notes, and snippets.

@cesandoval
Created August 7, 2012 21:42
Show Gist options
  • Save cesandoval/3289614 to your computer and use it in GitHub Desktop.
Save cesandoval/3289614 to your computer and use it in GitHub Desktop.
forms 2
#from forms.py
class LayerReviewForm(forms.ModelForm):
"""For editing and configuring the layer information for each layer."""
class Meta:
model = DataLayer
fields = ['name', 'notes', 'srs','geometry_type']
#from views.py
@login_required
def review(request):
"""A view for uploading new data.
"""
user=User.objects.get(username='carlos')
if request.method == 'POST': # someone is giving us data
formset = LayerReviewFormSet(request.POST, request.FILES)
for form in formset:
print 'reviewing form'
else: # we are asking them to review data
# get the last upload of this user
upload = UploadEvent.objects.filter(user=user).order_by('-date')[0]
data_files = DataFile.objects.filter(upload=upload)
layer_data = [ f.get_layer_data() for f in data_files ]
#print layer_data
formset = LayerReviewFormSet( initial=layer_data )
#if form.is_valid():
formset = LayerReviewFormSet(request.POST)
if formset.is_valid():
for form in formset:
srs = form.cleaned_data['srs']
geometry_type = form.cleaned_data['geometry_type']
layer = DataLayer(srs = srs)
geom_layer = DataLayer(geometry_type = geometry_type)
form.save()
#layer.save()
#form.save()
@bengolder
Copy link

keep the render_to_response in the function.

Eveything starting at line 28 should by placed up at line 17, because it only matters if they are posting data

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment