我正在使用centos linux.
我有django的python 2.6,现在我升级到python 2.7.
Python 2.6位于/usr/lib/python2.6中.
Python 2.7位于/usr/local/lib/python2.7中.
它们都有site-packages目录,它们都包含django 1.2.
如果我运行python我得到2.7版本.
我的问题是如果尝试导入django我得到
ImportError:没有名为django的模块
我不确定我的PYTHONPATH在哪里定义,如果这是我需要改变的.任何人 ?
我最终建立了2.6 site-packages目录的符号链接.
我尝试从表中选择最大值
SELECT MAX(cid) FROM itemconfiguration;
Run Code Online (Sandbox Code Playgroud)
但是当表itemconfiguration为空时,MAX(cid)语句将被评估为NULL我需要一个数字.如何处理这个并NULL视为0?
我正在使用Python 3.4和Django 1.7.我有一个观点回归JsonResponse.
def add_item_to_collection(request):
#(...)
return JsonResponse({'status':'success'})
Run Code Online (Sandbox Code Playgroud)
我想验证该视图是否使用单元测试返回正确的响应:
class AddItemToCollectionTest(TestCase):
def test_success_when_not_added_before(self):
response = self.client.post('/add-item-to-collection')
self.assertEqual(response.status_code, 200)
self.assertJSONEqual(response.content, {'status': 'success'})
Run Code Online (Sandbox Code Playgroud)
但该assertJSONEqual()行提出了一个例外:
Error
Traceback (most recent call last):
File "E:\Projects\collecthub\app\collecthub\collecting\tests.py", line 148, in test_success_when_added_before
self.assertJSONEqual(response.content, {'status': 'OK'})
File "E:\Projects\collecthub\venv\lib\site-packages\django\test\testcases.py", line 675, in assertJSONEqual
data = json.loads(raw)
File "C:\Python34\Lib\json\__init__.py", line 312, in loads
s.__class__.__name__))
TypeError: the JSON object must be str, not 'bytes'
Run Code Online (Sandbox Code Playgroud)
当响应包含JSON时,检查响应内容的正确方法是什么?当我尝试比较原始值时,为什么我会出现类型错误assertJSONEqual()?
我使用Paramiko提供的ssh客户端来创建一个函数调用'remoteSSH'(文件名是remoteConnect.py):
import paramiko
import logging
logger = paramiko.util.logging.getLogger()
logger.setLevel(logging.WARN)
def remoteSSH(username,userpasswd):
....
Run Code Online (Sandbox Code Playgroud)
现在我在另一个名为getData()(getdata.py)的Python模块中调用remoteSSH函数:
from remoteConnect import *
import logging
logger2=logging.getLogger()
logger2.setLevel(logging.INFO)
Run Code Online (Sandbox Code Playgroud)
但是,调用logger2.info('ccc')也会打开导入Paramiko模块的文件中的所有INFO级别日志记录(即remoteConnect.py)
如何关闭登录remoteConnect.py以便Paramiko不会吐出所有INFO级别的消息?
我使用apt-get在我的ubuntu盒子上安装了openjdk-6-jdk.
在系统信息中,jenkins告诉我Java.Home是 /usr/lib/jvm/java-6-openjdk/jre
但是当我JAVA_HOME在Jenkins中指定该目录:"configure system"时,它会返回错误消息,指出该目录看起来不像jdk目录.
它也没能拿起我的maven安装.
我错过了一些明显的东西吗
我喜欢捕捉任何ajax 401 Unauthorised异常,但不喜欢改变我所有的ajax查询.有没有办法为任何$ .ajax调用更改它(覆盖任何error处理程序)?
默认情况下,当您在ASP.NET Core项目中启用swagger时,它在url上可用:
http://localhost:<random_port>/swagger/ui
Run Code Online (Sandbox Code Playgroud)
我想使用不同的基本网址而不是/swagger/ui.我如何/在哪里配置?
我发现对于旧版本,您可以配置RootUrl但在ASP.NET Core中没有类似的方法:
.EnableSwagger(c =>
{
c.RootUrl(req => myCustomBasePath);
});
Run Code Online (Sandbox Code Playgroud) 我有一个名为'student'的数据库表,其中有一列名为'marks'.我想要数学成绩最高的学生记录.有一个简单的解决方案,使用order_by()[0]:
Student.objects.filter(subject='Maths').order_by('-marks')[0]
Run Code Online (Sandbox Code Playgroud)
但这会对表格进行排序,然后将第一条记录提取给我.如果我的表很大,这是多余的,因为我只需要最大记录.有没有办法在没有排序的情况下获得最大值?
我想要整个对象,而不仅仅是最大值.
谢谢Anuj
我正在开发一个使用Django作为后端的网站,我想让客户使用管理界面添加新页面 - 所以他输入了一个页面标题,一个用于更好网址的页面别名,并选择他是否想要静态内容或基于文章的结构.
我的方法如下:我创建了一个名为app的应用程序sitemanager,它包含上面描述的页面模型,以及一个上下文处理器,它将页面添加到我的模板上下文中(用于菜单等),这样可以正常工作.
当然,我还需要将它挂钩到我的url文件中,但这里是麻烦开始的地方:我可以,感谢Django的pythonic结构,检索内部的Page模型urls.py,并相应地生成我的url模式,它确实显示,但Django似乎缓存了该文件(通常很有意义),因此只有在服务器重启后才会进行更改.这显然是不可接受的.
我的第一个想法是以某种方式使管理员应用程序重置url缓存,如果添加或删除新页面,或修改别名(并且只有那时,因为缓存通常是一件好事),但我不知道如何开始那里.
或者也许还有一个我目前没有看到的更简单的解决方案?
我urls.py看起来的相关部分基本上是这样的:
from sitemanager.models import Page
static_pages = Page.objects.filter(static=True)
article_pages = Page.objects.filter(static=False)
for page in static_pages:
pattern = r'^/'+page.alias+'/$'
urlpatterns += patterns('',
url(pattern, 'views.static_page',
{ 'active': page }
)
)
# Pretty much the same for the article pages,
# but with includes of another app
Run Code Online (Sandbox Code Playgroud)
我希望在我的头脑中删除代码时,我没有犯过太多错误!
我正在尝试实现django sekizai应用程序.它正在复制我正在添加的js文件.
基本模板:
{% load sekizai_tags %}
...
{% render_block "my_js" %}
Run Code Online (Sandbox Code Playgroud)
使用此基础的模板:
{% load sekizai_tags %}
<div id="a1" >
{% addtoblock "my_js" %}
<script type="text/javascript" src="{{ MEDIA_URL }}js/my_js.js"></script>
{% endaddtoblock %}
</div>
{% addtoblock "my_js" %}
<script type="text/javascript" src="{{ MEDIA_URL }}js/my_js.js"></script>
{% endaddtoblock %}
Run Code Online (Sandbox Code Playgroud)
现在渲染的模板已经呈现了两次.但是当我尝试在div中添加相同的脚本时,它没有重复.如果有人能够对此有所了解,我将不胜感激!
此外,当我尝试在模板标记呈现的模板中使用{%addtoblock%}时,脚本会丢失(它既不包含也不保留在该模板中).
注意:模板标签render_block和addtoblock来自django-sekizai包.
django ×5
python ×4
ajax ×1
asp.net ×1
asp.net-core ×1
c# ×1
centos ×1
django-urls ×1
java ×1
java-home ×1
javascript ×1
jenkins ×1
jquery ×1
jsonresponse ×1
logging ×1
oracle ×1
paramiko ×1
python-3.x ×1
pythonpath ×1
sql ×1
swagger ×1
ubuntu ×1