我正在使用Django并试用New Relic.是否可以监控Django开发服务器?我似乎只能找到有关使用生产服务器设置New Relic的帮助.
'如何'供将来参考:
(我使用了Django1.4)
请遵循:https: //newrelic.com/docs/python/python-agent-installation
作为该指南的最后一步(与您的应用程序集成),将您的wsgi.py文件更改为以下内容:
import newrelic.agent
newrelic.agent.initialize('/home/username/path/to/myproject/newrelic-1.9.0.21/newrelic.ini')
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
application = newrelic.agent.wsgi_application()(application)
Run Code Online (Sandbox Code Playgroud)现在,在New Relic平台上登录您的帐户,向开发服务器发出一些请求,并查看平台上的更改.Grats,你做到了!
我已经搜索了基于类的视图Django文档(Django 1.4)的参考和主题,但我还没有发现任何提及此问题.如何使用基于类的视图动态设置模板名称?我正在寻找以下设置的基于类的等价物:
urls.py
from django.conf.urls.defaults import *
from mysite.views import dynamic
urlspatterns = patterns('',
url(r'^dynamic/(?P<template>\w+)/$', dynamic),)
)
Run Code Online (Sandbox Code Playgroud)
views.py
from django.shortcuts import render_to_response
def dynamic(request, template):
template_name = "%s.html" % template
return render_to_response(template_name, {})
Run Code Online (Sandbox Code Playgroud) sys.argv在运行程序时在shell命令行中获取参数.如何使这些参数可选?
我知道我可以使用try- except.但这会强制您插入没有额外的参数或所有额外的参数,除非您嵌套更多try- except这使得代码看起来更不易读.
假设我想要以下功能,我该如何实现呢?
$ python program.py add Peter
'Peter' was added to the list of names.
Run Code Online (Sandbox Code Playgroud)
这个add参数(而不是--add)是可选的
$ python program.py
Run Code Online (Sandbox Code Playgroud)
只是正常运行程序.
如果没有admin.autodiscover()输入urls.py,则会显示管理页面You don't have permission to edit anything(参见SO线程).
为什么会这样?如果您总是需要admin.autodiscover()使用管理员添加编辑信息,即使您拥有安全性的超级用户名和密码,为什么Django开发人员不会admin.autodiscover()自动触发?
我正在寻找与Python2.x相当的javascript print "hi".我正在使用ubuntu终端中的Rhino javascript解释器.当我输入:
document.write{"hi"}
Run Code Online (Sandbox Code Playgroud)
我得到'文档'未定义的错误.
假设你有这些模块:
import module2
def a():
module1.b()
def c():
print "Hi guys!"
Run Code Online (Sandbox Code Playgroud)
import module1
def b():
module1.c()
Run Code Online (Sandbox Code Playgroud)
我想要一个func(a())产生类似输出的函数:(=一个追溯?)
/usr/local/lib/python2.7/dist-packages/test/module1.py
3 def a():
4 module1.b()
1 import module1
/usr/local/lib/python2.7/dist-packages/test/module2.py
3 def b():
4 module1.c()
1 import module2
/usr/local/lib/python2.7/dist-packages/test/module1.py
6 def c():
7 print "Hi guys!"
Run Code Online (Sandbox Code Playgroud)
有可能使用标准模块traceback和/或cgitb和/或inspect我很难从文档中找出这些模块.
我认为它可以做,traceback.print_stack(a())但它只是因为某种原因而一直在加载.我尝试了这些模块中的其他功能但没有成功.
@jterrace
python trapy_module.py:
import trace
def trapy(arg):
tracer = trace.Trace()
tracer.run(arg)
r = tracer.results()
r.write_results()
if __name__ == '__main__':
import random
trapy('random.random()') …Run Code Online (Sandbox Code Playgroud) 我如何只simplehttpwebsite_content.html在访问时显示localhost:8080?所以我看不到我的filetree,只看到网页.所有这些文件都在同一个目录中.
simplehttpwebsite.py
#!/usr/bin/env python
import SimpleHTTPServer
import SocketServer
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
server = SocketServer.TCPServer(('0.0.0.0', 8080), Handler)
server.serve_forever()
Run Code Online (Sandbox Code Playgroud)
simplehttpwebsite_content.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="simplehttpwebsite_style.css">
</head>
<body>
This is my first web page
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
simplehttpwebsite_style.css
body{background-color:blue;}
Run Code Online (Sandbox Code Playgroud) 我的问题假设你在那些不同的Linux发行版上使用相同的python版本.我也从我的问题中排除了虚拟环境.
我使用基于Debian的发行版Ubuntu.那里有python标准库的路径(用python编写的模块/包)/usr/lib/python2.7."外部"python包的路径是/usr/local/lib/python2.7/dist-packages.
非常感谢以系统独立的方式获得这些路径.
我发现:
>>> from distutils.sysconfig import get_python_lib
>>> print get_python_lib()
/usr/local/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)
和
>>> print get_python_lib(standard_lib=True)
/usr/lib/python2.7
Run Code Online (Sandbox Code Playgroud)
我认为第一次编辑中的方法已被弃用,因为我只能找到它并直到python2.5文档.新方法(在2.7文档中):
>>> import sysconfig
>>> sysconfig.get_path_names()
('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', 'scripts', 'data')
>>> print sysconfig.get_path('platlib')
/usr/local/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)
我还没有找到如何/usr/lib/python2.7使用sysconfig 查找.现在我将使用已弃用的方法,并假设这会产生预期的结果.
我的Django 1.3项目服务于开发服务器上的静态文件,但没有提供gunicorn服务器静态文件.我按照Heroku指南的步骤进行操作.
当我使用我的proc文件的内容时,如在指南(
web: gunicorn myproject_django.wsgi -b 0.0.0.0:$PORT)中,Heroku无法识别我的项目.
然后我将Procfile更改为:
web: python myproject_django/manage.py run_gunicorn -b 0.0.0.0:$PORT -w 3
Run Code Online (Sandbox Code Playgroud)
现在我的应用运行除了静态文件(css不活动也没有图像).
我的项目树:
.
??? Procfile
??? myproject_django
? ??? core
? ? ??? admin.py
? ? ??? __init__.py
? ? ??? models.py
? ? ??? static
? ? ? ??? css
? ? ? ? ??? base.css
? ? ? ? ??? layout.css
? ? ? ?
? ? ? ??? media
? ? ? ??? pek.ico
? ? ? …Run Code Online (Sandbox Code Playgroud) python ×6
django ×4
linux ×2
brackets ×1
function ×1
gunicorn ×1
heroku ×1
javascript ×1
linux-distro ×1
networking ×1
newrelic ×1
path ×1
pretty-print ×1
rhino ×1
stack-trace ×1
static-files ×1
sys ×1
webpage ×1