I have used python3.7 and django 2.1 and for django app models and views diretory have separated folder and files.
- Project Name : fusion
- App Name : admin_lte
Getting bellow error
ValueError at /csv/ The view django_adminlte.views.file_csv_view.file_csv_show.file_csv_show didn't return an HttpResponse object. It returned None instead.
Traceback :
Traceback (most recent call last):
File "C:\Users\parth\Desktop\admin_lte\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
response = get_response(request)
File "C:\Users\parth\Desktop\admin_lte\lib\site-packages\django\core\handlers\base.py", line 137, in _get_response
"returned None instead." % (callback.__module__, view_name)
ValueError: The view django_adminlte.views.file_csv_view.file_csv_show.file_csv_show didn't return an HttpResponse object. It returned None instead.
[15/Feb/2019 17:23:57] "POST /csv/ HTTP/1.1" 500 67126
I already make all init.py file for separated folder.
View file : file_csv_show.py
from django.shortcuts import render,redirect
from django_adminlte.forms import File_csvForm
from django_adminlte.models import file_csv
def file_csv_show(request):
if request.method == 'POST':
form = File_csvForm(request.POST,request.FILES) #request.POST = geting title/auth request.FILES = for book upload
if form.is_valid():
try:
form.save()
return redirect("file_csv_show")
except:
pass
else:
form = File_csvForm()
return render(request,'adminlte/file_csv_index.html',{'form' : form})
models file : file_csv.py
from django.db import models
# Create your models here.
class File_csv(models.Model):
title = models.CharField(max_length=50)
csv_files = models.FileField(upload_to='files/csv')
class Meta:
db_table = "csv"
def __str__(self):
return self.title
html file
{% extends 'adminlte/base.html' %}
{% load crispy_forms_tags %}
{% block content %}
{% if user.is_authenticated %}
<h2>Upload</h2>
<form method="post" enctype="multipart/form-data" action="{% url "file_csv" %}">
{% csrf_token %}
<input type="file" name="document">
<button type="submit">Upload File</button>
</form>
{% if url %}
<p>Uploaded File : <a href="{{url}}">{{url}}</a></p>
{% endif %}
{% endif %}
{% endblock %}
urls.py file
from django_adminlte import views
from django_adminlte.views.file_csv_view import file_csv_show
urlpatterns = [
path('csv/',views.file_csv_view.file_csv_show,name='file_csv'),
]
I want to when file has been uploaded and after page redirect to index page