Flask Error-Could not build url for endpoint 'index'. Did you forget to specify value - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Web Scraping & Web Development (https://python-forum.io/forum-13.html) +--- Thread: Flask Error-Could not build url for endpoint 'index'. Did you forget to specify value (/thread-16358.html) |
Flask Error-Could not build url for endpoint 'index'. Did you forget to specify value - Prince_Bhatia - Feb-25-2019 Hi , I have written an flask app. This app allow users to upload images, if i run this app locally this app uploads images and saves it to the path which i have designated Now i want to create a query string for my app where i will create urls and send it to people to upload images. but when i run my app i receive this error below is the code from flask import Flask, redirect, render_template, request, session, url_for, send_file from flask_dropzone import Dropzone from flask_uploads import UploadSet, configure_uploads, IMAGES, patch_request_class from flask_sqlalchemy import SQLAlchemy import os import psycopg2 import csv app = Flask(__name__) db = SQLAlchemy(app) dropzone = Dropzone(app) #app.config["SQLALCHEMY_DATABASE_URI"]="postgres://qpnwgdxnihlitm:22e4f6cbdb773f69aa468b2b7ddcd692552cb4102367ffc14c62f19403636477@ec2-54-243-223-245.compute-1.amazonaws.com:5432/d1ssufnnr78nll?sslmode=require" app.config["SQLALCHEMY_DATABASE_URI"]= "postgresql://postgres:prince@25@localhost/images" #app.config["SQLALCHEMY_DATABASE_URI"]='postgres://mapvmydehdyncf:7500963c956e3d5556df4a5f4fdd1a9a40f023c922bfe93194fb13b9322c86ad@ec2-23-21-165-188.compute-1.amazonaws.com:5432/d6lmau9918afdq?sslmode=require' app.config['SECRET_KEY'] = 'supersecretkeygoeshere' # Dropzone settings app.config['DROPZONE_UPLOAD_MULTIPLE'] = True app.config['DROPZONE_ALLOWED_FILE_CUSTOM'] = True app.config['DROPZONE_ALLOWED_FILE_TYPE'] = 'image/*' app.config['DROPZONE_REDIRECT_VIEW'] = 'results' # Uploads settings app.config['UPLOADED_PHOTOS_DEST'] = '/uploads' photos = UploadSet('photos', IMAGES) configure_uploads(app, photos) patch_request_class(app) # set maximum file size, default is 16MB class Data(db.Model): __tablename__ = "image" id=db.Column(db.Integer, primary_key=True) link = db.Column(db.String(1000000), unique=True) def __init__(self, link): self.link = link @app.route("/<string:property_id>", methods=['GET', 'POST']) def index(property_id): data = property_id # set session for image results if "file_urls" not in session: session['file_urls'] = [] # list to hold our uploaded image urls file_urls = session['file_urls'] # handle image upload from Dropszone if request.method == 'POST': file_obj = request.files for f in file_obj: file = request.files.get(f) # save the file with to our photos folder filename = photos.save( file, name=file.filename ) # append image urls file_urls.append(photos.url(filename)) d = file_urls.append(photos.url(filename)) for i in file_urls: data = Data(i) db.session.add(data) db.session.commit() session['file_urls'] = file_urls return "uploading..." # return dropzone template on GET request return render_template('index.html', property_id= property_id) @app.route('/results') def results(): # redirect to home if no images to display if "file_urls" not in session or session['file_urls'] == []: return redirect(url_for('index')) # set the file_urls and remove the session variable file_urls = session['file_urls'] session.pop('file_urls', None) dms = set(file_urls) get_length = len(dms) return render_template('results.html', dms=dms, get_length=get_length) @app.route('/dashboard') def dashboard(): conn = psycopg2.connect("dbname='images' user='postgres' password='prince@25' host='localhost' port='5432' ") print(conn) cur = conn.cursor() data = cur.execute("SELECT DISTINCT link FROM image") m_dict = cur.fetchall() filename = "Productivity.csv" with open("./"+filename,'w', encoding="utf-8") as csvfile: csvfile = csv.writer(csvfile, m_dict) csvfile.writerow(["Link"]) for i in range(0, len( m_dict )): csvfile.writerow( m_dict[i] ) news = cur.execute("DELETE FROM image") conn.commit() return send_file(filename, attachment_filename="Data.csv", as_attachment=True) if __name__=="__main__": app.run(debug=True) #app.run(debug=True)it is my index.html <!DOCTYPE html> <html> <head> <title>99Acres</title> {{ dropzone.load() }} {{ dropzone.style('border: 2px dashed #0087F7; margin: 10%; min-height: 400px;') }} </head> <body style="background-color:teal"> <!--<h1 style="color:white;">99Acres</h1>--> <img align="right"src="https://img-d02.moneycontrol.co.in/news_image_files/2015/356x200/9/99acres_1902_356.jpg" width="80" height="80" alt="me"> <h1 align="center" style="color:white">Welcome to 99acres image upload website</h1> <h3 align="center"style="color:white">Please Upload images in format[".JPG",".PNG",".JPEG"]</h3> <h3 align="center" style="color:white">**Please Note:Maximum Total image size is 5MB</h3> {{ dropzone.create(action_view='index') }} <div class="list" align="center"> <strong>Our Partners:</strong> <a href="http://www.naukri.com" class="">Naukri.com</a>- <a href="http://www.jeevansathi.com" class="" style="color:white">Jeevansathi Matrimonials</a>- <a href="http://www.icicicommunities.org" class="">ICICIcommunities.org </a><br> <br> <a href="../propadmin/" class=""style="color:white">Home </a>|| <a href="../property/about.php" class=""style="color:white">About Us </a>|| <a href="/do/buyourservices/" class=""> Advertise with us </a>|| <a href="../property/terms.php" class=""style="color:white">Terms and Conditions</a> || <a href="../property/contact.php" class=""style="color:white"> Contact us</a> ||<a href="../property/request_info.php" class=""style="color:white"> Reques1t info</a><br> <br> All rights reserved 2001 Info Edge India Ltd. </div> </body> </html>it is my results.html <body style="background-color:teal"> <h1 align="center" style="color:white">Below Images Uploaded Successfully</h1> <a href="{{ url_for('index') }}">Back</a><p> <ul> {% for file_url in dms %} <img style="height: 150px" src="{{ file_url }}"> {% endfor %} </ul> <h1 align="center" style="color:white">You can close this page or upload more image</h1> <h1 align="center" style="color:white">Total number of images are : {{get_length}}</h1> <br><br><br><br> <div class="list" align="center"> <strong>Our Partners:</strong> <a href="http://www.naukri.com" class="">Naukri.com</a>- <a href="http://www.jeevansathi.com" class="" style="color:white">Jeevansathi Matrimonials</a>- <a href="http://www.icicicommunities.org" class="">ICICIcommunities.org </a><br> <br> <a href="../propadmin/" class=""style="color:white">Home </a>|| <a href="../property/about.php" class=""style="color:white">About Us </a>|| <a href="/do/buyourservices/" class=""> Advertise with us </a>|| <a href="../property/terms.php" class=""style="color:white">Terms and Conditions</a> || <a href="../property/contact.php" class=""style="color:white"> Contact us</a> ||<a href="../property/request_info.php" class=""style="color:white"> Reques1t info</a><br> <br> All rights reserved 2001 Info Edge India Ltd. </div> </body> |