Reputation: 53
I need get data from my form and handle them.
my form
from django import forms
class DomainForm(forms.Form):
url_text = forms.URLField(label='Site url', max_length=200)
my template
<form class='form-horizontal' action="" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>
my view
def parsurl(request):
global form
if request.method == 'POST':
form = DomainForm(request.POST)
if form.is_valid():
r = form.cleaned_data.get('url_text')
masall =parser_d(r)
for mas1 in masall:
try:
Events.objects.create(events_title=mas1[1], events_text = mas1[2],events_img = mas1[0], events_is_pars=1, events_seourl = "132")
except:
print ("lololo")
else:
form = DomainForm()
context = { 'form': form, }
return render_to_response(request, 'form.html', context)
my url
url(r'^parser/', 'pages.views.parsurl'),
If I visit mysite/parser/
I get an error:
Template-loader postmortem
Django tried loading these templates, in this order:
Using engine :
django.template.loaders.filesystem.Loader: /home/ziberon/econom/ecosite/templates/<WSGIRequest: GET '/parser/'> (Source does not exist)
django.template.loaders.app_directories.Loader: /home/ziberon/econom/ecenv/lib/python3.4/site-packages/django/contrib/admin/templates/<WSGIRequest: GET '/parser/'> (Source does not exist)
django.template.loaders.app_directories.Loader: /home/ziberon/econom/ecenv/lib/python3.4/site-packages/django/contrib/auth/templates/<WSGIRequest: GET '/parser/'> (Source does not exist)
Upvotes: 0
Views: 1433
Reputation: 1891
Can do like this (assuming you have template in directory './template/form.html'
from django.shortcuts import render
import os
def parsurl(request):
return render(request, os.path.join('./templates/','form.html'), context)
Upvotes: 0
Reputation: 308839
You are getting the error because you are calling render_to_response
incorrectly.
return render_to_response(request, 'form.html', context)
The render_to_response
method is no longer recommended. The best idea is to use the render
shortcut instead.
from django.shortcuts import render
def parsurl(request):
...
return render(request, 'form.html', context)
Upvotes: 2