相关疑难解决方法(0)

Django:你如何提供媒体/样式表并在模板中链接到它们

已经询问了这个问题的变化,但是当我的模板被渲染时,我仍然无法正确加载我的样式表.

我正在尝试在开发过程中从Django进程中提供静态媒体 - 这在生产中是非常不鼓励的,我知道.我会发布我的配置和模板,希望有人可以帮我理解我哪里出错了.

请注意,我确实尝试按照Django项目网站上的示例进行操作,但是没有提到如何从模板中引用样式表.我也尝试过同一件事的许多不同变体,所以我的代码/设置可能与描述的有些不同.

settings.py

MEDIA_ROOT = 'D:/Dev Tools/django_projects/dso/media'
MEDIA_URL = '/media/'
ADMIN_MEDIA_PREFIX = '/media/'
Run Code Online (Sandbox Code Playgroud)

urls.py

from django.conf.urls.defaults import *
from django.conf import settings
from django.contrib import admin

admin.autodiscover()

urlpatterns = patterns('',
    (r'^admin/(.*)', admin.site.root),
    (r'^ovramt/$', 'dso.ovramt.views.index'),
)

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
    )
Run Code Online (Sandbox Code Playgroud)

在我的模板中:

<head> 
<title> {% block title %} DSO Template {% endblock %} </title> 
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
<link rel="stylesheet" type="text/css" href="../media/styles.css">
</head>
Run Code Online (Sandbox Code Playgroud)

我向你保证,文件(模板/媒体)位于我文件系统的正确目录中.如果我需要提供任何额外信息,请发表评论.


编辑:

我遇到的一个问题是使用'/'前置我的链接.如果前缀为正斜杠,则从站点的根目录打开链接.如果没有正斜杠,则链接在当前级别打开.一个例子:

www.example.com/application/有一个链接"/ app2 /和一个链接"app3
/".app2将在www.example.com/app2/上打开,app3将在www.example.com/application/app3/上打开我觉得这让我感到困惑.

css python media django django-templates

44
推荐指数
3
解决办法
4万
查看次数

Django应用程序中的版本号

我正在开发一个Django应用程序,我想显示应用程序的版本(这样一来,发现错误的人知道应用程序的版本并可以提供更好的错误报告).

是否有一种普遍接受的方式来存储Django中的版本号(我的意思是我的应用程序的版本,而不是Django)?

django

31
推荐指数
6
解决办法
8780
查看次数

在模板中使用Django设置

我希望能够将某些配置信息放在我的settings.py文件中 - 例如站点名称,站点URL等.

如果我这样做,我怎么才能在模板中访问这些设置?

谢谢

python django django-templates

23
推荐指数
2
解决办法
2万
查看次数

Django芹菜工作者向前端发送实时状态和结果消息

在django应用程序中,我正在运行异步任务,并希望向用户显示进度,错误等.如果存在错误,则应将用户重定向到需要其他输入或某些操作来解决问题的页面.从芹菜工作到前端沟通的最佳方式是什么?

这是伪代码的基本结构:

# views.py
from tasks import run_task

def view_task():
    run_task.delay()
    return render(request, 'template.html')

# tasks.py
from compute_module import compute_fct

@shared_task
def run_task():
    result = compute_fct()

    # how to catch status update messages from compute_module while compute_fct is running??

    if result == 'error':
        handle_error()
    else:
        handle_succes()     

# compute_module
import pandas as pd

def compute_fct():
    # send message: status = loading file
    df = pd.read_csv('test.csv')
    # send message: status = computing
    val = df['col'].mean()

    if val is None:
        return {'status':'error'}
    else: …
Run Code Online (Sandbox Code Playgroud)

python django logging celery pusher

6
推荐指数
1
解决办法
1231
查看次数

标记库的Django注册不起作用

我尝试在django中注册我的自定义模板标签库,但不幸的是它无法正常工作!

我想创建一个自定义包含标签,并按照以下说明进行操作:https : //docs.djangoproject.com/en/1.11/howto/custom-template-tags/#howto-custom-template-tags-inclusion-tags

我创建了一个名为“ tag_lib”的应用程序(安装在settings.py中),用于放置模板标签。在app文件夹中有一个名为“ templatetags”的字典,其中包含一个空字符__init__.py和my my_tags.py

my_tags.py 包含:

from django import template


register = template.Library()


@register.inclusion_tag(filename='navbar.html', takes_context=True)
def navbar_context(context):
    return {
        'some_var': context['some_var'],
    }
Run Code Online (Sandbox Code Playgroud)

当我重新启动devserver并尝试使用

{% load my_tags %} `
Run Code Online (Sandbox Code Playgroud)

在模板中,出现错误:

TemplateSyntaxError at /

'my_tags' is not a registered tag library. Must be one of:
admin_list
admin_modify
admin_static
admin_urls
cache
i18n
l10n
log
static
staticfiles
tz
Run Code Online (Sandbox Code Playgroud)

知道我犯错了吗?

谢谢。

python django templatetags

3
推荐指数
2
解决办法
2630
查看次数

在设置中添加要在视图中使用的变量 - Django

def get(self , request , format=None):
    body = request.data
    name = body.get('name',"The_Flash")
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果 request.data 没有收到name值,我会硬编码值The_Flash,但我知道这不是一个好的方法。我希望将其作为变量添加到我的 django 项目的 settings.py 文件中。我浏览了像这样和其他一些人的参考资料,但这不是我想要的。有人可以告诉我哪种方法最有效。我正在使用 Django 1.8。

python django django-settings

2
推荐指数
1
解决办法
3397
查看次数

从 Django 模板获取管理员电子邮件

有没有办法从任意模板访问模块的ADMINS变量,settings而无需在渲染之前手动将其添加到上下文中,类似于如何request在任何模板中使用RequestContextif django.core.context_processors.requestis in TEMPLATE_CONTEXT_PROCESSORS

python django django-templates django-views

1
推荐指数
1
解决办法
804
查看次数