Giter Site home page Giter Site logo

Comments (3)

xenatisch avatar xenatisch commented on June 19, 2024

I haven't tried this myself, but it should be possible via the MARKDOWNX_MEDIA_PATH setting variable (see the documentation).

If that doesn't work, we can always look into adding a new feature.

from django-markdownx.

digitalWestie avatar digitalWestie commented on June 19, 2024

Ah, I think I may have confused my own question as I misunderstood the purpose of those settings.

To explain a bit further, what I'm looking to do is to drag in the image, and instead of generating markdown such as:

[](/media/markdownx/myimage.png)

Instead generate an absolute URL that includes the domain:

[](https://mydomain.com/media/markdownx/myimage.png)

I'll take a look and see if I can find a way to prepend the domain etc to the relative '/media/markdownx/' path.

from django-markdownx.

digitalWestie avatar digitalWestie commented on June 19, 2024

I was able to achieve this in the end by overriding ImageUploadView.

In views:

class AbsoluteImageUploadView(ImageUploadView):
  def form_valid(self, form):
    response = super(ImageUploadView, self).form_valid(form)
    if self.request.is_ajax():
      image_path = form.save(commit=True)
      absolute_image_path = self.request.build_absolute_uri(image_path)
      image_code = '![]({})'.format(absolute_image_path)
      return JsonResponse({'image_code': image_code})
    return response

In urls:

re_path(r'^markdownx/absolute-upload/', AbsoluteImageUploadView.as_view()),

In settings:

MARKDOWNX_UPLOAD_URLS_PATH = '/markdownx/absolute-upload/'

from django-markdownx.

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.