Giter VIP home page Giter VIP logo

Comments (2)

some1ataplace avatar some1ataplace commented on June 5, 2024 1

Maybe try this. I did not test this but maybe it can help someone.

  1. Install the python-flickrapi library by running pip install flickrapi in your terminal.

  2. In your Django project's settings.py file, add the following settings:

FLICKR_API_KEY = 'your_api_key_here'
FLICKR_API_SECRET = 'your_api_secret_here'
  1. In your Django project's urls.py file, add a URL pattern to handle the image upload:
from django.conf.urls import url
from markdownx import urls as markdownx

urlpatterns = [
    # your other URL patterns here
    url(r'^markdownx/flickr/$', 'your_app.views.flickr_upload', name='markdownx_flickr_upload'),
    url(r'^markdownx/', include(markdownx)),
]

  1. In your Django app's views.py file, define a view to handle the image upload:
from django.http import HttpResponse
from flickrapi import FlickrAPI
from markdownx.utils import markdownify

def flickr_upload(request):
    if request.method == 'POST':
        # get the image data from the request
        image_data = request.FILES['image']

        # authenticate with Flickr
        flickr = FlickrAPI(settings.FLICKR_API_KEY, settings.FLICKR_API_SECRET, format='etree')
        (token, frob) = flickr.get_token_part_one(perms='write')
        if not token:
            raise Exception
  1. Redirect the user to Flickr's authentication page to authorize your app to upload images:
auth_url = flickr.auth_url(perms='write')
return HttpResponseRedirect(auth_url)
  1. After the user has authorized your app, retrieve the access token and secret:
flickr.get_token_part_two((token, frob))
access_token = flickr.token_cache.token.token
access_secret = flickr.token_cache.token.token_secret
  1. Upload the image to Flickr using the access token and secret:
response = flickr.upload(filename=image_data.name, fileobj=image_data, title='My Image', description='Uploaded with django-markdown-editor', auth_token=access_token, auth_secret=access_secret)
photo_id = response.find('photoid').text
  1. Finally, return the URL of the uploaded image to the markdown editor:
image_url = flickr.photos_getSizes(photo_id=photo_id)[0].find('source').attrib['url']
return HttpResponse(markdownify('![My Image]({})'.format(image_url)))

from django-markdown-editor.

agusmakmun avatar agusmakmun commented on June 5, 2024

Sounds like a great idea @SkippyHo. Can you submit a pull request?

from django-markdown-editor.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.