【问题标题】:Is there any way to block user to access the urls not specified in urls.py in Django有什么方法可以阻止用户访问 Django 中 urls.py 中未指定的 url
【发布时间】:2021-02-24 19:11:20
【问题描述】:

我试图阻止用户访问 django 的 urls.py 中未指定的 url。

我们在 django 项目中有媒体和静态文件。

如果打开,媒体和静态文件可以通过url轻松打开。

就像一个名为 avatar.jpg 的图片在 http://127.0.0.1:8000/media/anime/images/

在这里,用户可以通过输入 url 访问此文件

http://127.0.0.1:8000/media/anime/images/avatar.jpg

有什么方法可以限制所有用户访问 urls.py 中未指定的 url?

在 urls.py 中

path('', views.index, name="AnimeHome"),
path('about/', views.about, name="About"),
path('watch/<int:animeId>', views.product, name="Watch"),
path('search/', views.search, name="Search"),
path('help/', views.help, name="Help"),
path('feedback/', views.feedback, name="Feedback"),
path('episode/<int:animeId>/<int:episodeNumber>',views.episode, name="Episode")

【问题讨论】:

    标签: python django django-urls


    【解决方案1】:

    您可能已将这些文件配置为在您的urls.py 中提供。 See "Serving files uploaded by a user during development" in the Django documentation。如果你删除

    static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    

    来自您的urls.py 则不会提供媒体文件。

    【讨论】:

    • 如你所说,我从 urls.py 中删除了静态设置,现在没有提供媒体文件。
    • 那么请接受这个正确答案。
    猜你喜欢
    • 2022-12-09
    • 1970-01-01
    • 2017-10-24
    • 2011-06-16
    • 2022-06-15
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多