diff --git a/blog/blog/settings.py b/blog/blog/settings.py index eb1af4a..65f4c6c 100644 --- a/blog/blog/settings.py +++ b/blog/blog/settings.py @@ -121,6 +121,10 @@ USE_TZ = True STATIC_URL = "static/" +# пути для загрузки файлов +MEDIA_ROOT = os.path.join(BASE_DIR, "data/") # 'data' is my media folder +MEDIA_URL = "/media/" + # для того чтобы использовать общие статические файлы STATICFILES_DIRS = [ BASE_DIR / "static", diff --git a/blog/blog/urls.py b/blog/blog/urls.py index e87b920..96eaf8c 100644 --- a/blog/blog/urls.py +++ b/blog/blog/urls.py @@ -15,6 +15,8 @@ Including another URLconf """ from django.contrib import admin from django.urls import path, include +from django.conf import settings +from django.conf.urls.static import static urlpatterns = [ path("", include("mainpage.urls")), @@ -22,3 +24,7 @@ urlpatterns = [ path("comments/", include("comments.urls")), path("admin/", admin.site.urls), ] + +# позволяет выводить картинки, если мы в режиме дебага +if settings.DEBUG: + urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/blog/posts/views.py b/blog/posts/views.py index 60c5b76..8f51fc8 100644 --- a/blog/posts/views.py +++ b/blog/posts/views.py @@ -6,6 +6,8 @@ from comments.models import Comment from comments import services as comments_services +import re + def index(request): """Список постов.""" @@ -24,6 +26,14 @@ def detail(request, post_id): _nickname = request.COOKIES.get("nickname") nickname = comments_services.decode_nickname(_nickname) if _nickname else "" + images = post.image_set.all() + # вывод картинок в посте, замена шаблона по регулярке + post.text = re.sub( + r"\[\[image\:(.+?)\]\]", + lambda x: f"", + post.text, + ) + return render( request, "posts/post.html",