小编sc2*_*c28的帖子

有没有一种简单的方法来获取django中用户的组名

我在django.contrib.auth.Userdjango.contrib.auth.Group的帮助下尝试使用Code

for g in request.user.groups:
    l.append(g.name)
Run Code Online (Sandbox Code Playgroud)

但那失败了,我收到了以下错误:

TypeError at /
'ManyRelatedManager' object is not iterable
Request Method: GET
Request URL:    http://localhost:8000/
Exception Type: TypeError
Exception Value:    
'ManyRelatedManager' object is not iterable
Exception Location: C:\p4\projects\...\users.py in permission, line 55
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

python django django-admin

38
推荐指数
4
解决办法
5万
查看次数

如何将Git中的Django应用程序导入项目中

我想将Django应用程序包含在我正在进行的项目中.该应用程序托管在Github上(https://github.com/lmorchard/django-badger).除了包含好东西的应用程序目录外,根目录中还有一些文件 - 自述文件,LICENSE,TODO和setup.py.如果我将应用程序克隆到项目的根目录中,则app文件夹将位于正确的位置,但这些根文件将位于项目的根目录中.如何在仍然跟踪Github中的上游代码的同时添加应用程序?

git django

5
推荐指数
2
解决办法
4381
查看次数

测试 PostgreSQL 表是否不存在(使用 psycopg2)

使用 Psycopg2,我需要测试 postgresql 表是否存在。

在类似的问题中,建议使用以下测试:

cursor.execute("select exists(select * from myDb.mytable_%s)" % complementName)
tableExists = cursor.fetchone()[0]
print(tableExists)
Run Code Online (Sandbox Code Playgroud)

如果表已经存在,并且返回 ,则此方法非常有效,但如果表True存在,则此方法不起作用。我没有像我需要的那样返回,而是收到错误False

编程错误:关系“myDb.mytable_001”不存在

我究竟做错了什么?False 如果表不存在,我应该怎么做才能得到语句?谢谢你的帮助!

编辑

根据评论中的建议,我也尝试过:

tableExists = cursor.execute("SELECT 1 AS result FROM pg_database WHERE datname='mytable_001'")
Run Code Online (Sandbox Code Playgroud)

tableExists = cursor.execute("SELECT EXISTS (SELECT 1 AS result FROM pg_tables WHERE schemaname = 'mySchema' AND tablename = 'mytable_001)')")
Run Code Online (Sandbox Code Playgroud)

None无论表是否存在,两者都只是返回 。但是,我不确定语法,也许你可以指出我可能犯的一些新手错误?谢谢!

编辑2 最后,解决方案包括上面后一个查询的组合,并按如下方式获取布尔结果:

cursor.execute("SELECT EXISTS (SELECT 1 AS result FROM pg_tables WHERE schemaname = 'mySchema' AND tablename = …
Run Code Online (Sandbox Code Playgroud)

python postgresql boolean psycopg2

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

在Python中格式化字符串时,"IndexError:元组索引超出范围"

我查看了具有此IndexError的类似问题,但没有找到我的案例的解释.有人可以解释我为什么会收到错误吗?

以下代码

mySF2[0]=['000browser', '1', 'Floor', '0.92', '1.74', 'con', 'None']

insertfmt = ' '.join([
"INSERT INTO mySchema.myTable_{}_name (col1, col2, col3, col4, col5, col6)",  
"VALUES ({}, {}, NULLIF({},'None')::decimal, NULLIF({},'None')::decimal, {}, NULLIF({},'None')::int)"
         ])

insertfmt.format(mySF2[0])
Run Code Online (Sandbox Code Playgroud)

给出了这个错误

IndexError:元组索引超出范围

但是,我会计算7个占位符(即大括号{})和7个要输入的项目.为什么错误呢?感谢您的任何观点..

python string-formatting

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

将 JS/CSS/HTML 合并为单个 HTML

我有一个包含 2 个 HTML 文件、6 个 CSS 文件和 11 个 JS 文件的小型本地 Web 应用程序。

  1. 如果所有这些文件都(正确地)复制粘贴到单个 HTML 文件中,例如将 JS 放在<script>标题中的标签中,并将 CSS 放在<style>标签中,那么网络应用程序是否仍然可以工作 ?

  2. 有谁知道可以自动安全地将一组 JS、CSS 和 HTML 文件合并为一个 HTML 的工具?

在网上搜索,我只找到了可以一次合并或缩小一种类型文件的工具,但不能创建合并的 HTML 文件(例如AIOM+HTMLcompressor。我确实找到了这个名为Inliner 的应用程序,但它似乎在 Node.js 上运行,我不熟悉,目前不使用。

简而言之,我正在寻找一种简单的独立工具,可以读取 HTML 中的所有链接文件,并通过附加这些文件的内容来重写 HTML。如果这要求太多,那么只需确认手动完成这项工作会产生一个工作文件,或者在这样做时要考虑的任何提示。谢谢!

html javascript css

5
推荐指数
2
解决办法
6137
查看次数

将 Django 模型迁移到 Postgresql 架构

我想通过 Django 迁移在特定的 Postgresql 架构(即“schema1”)中创建一个新表。

尽管遵循此博客此帖子中的方法 1 ,迁移仍将表发送到默认架构“public”而不是“schema1”。

在 中settings.py,我有:

DATABASES = {

    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'OPTIONS': {
                        'options': '-c search_path=django,public'
                    },
        'NAME': 'myDB',
        'USER': 'username',
        'PASSWORD': '***',
        'HOST': 'my.host.address',
        'PORT': '1234',
    },

    'schema1': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'OPTIONS': {
                    'options': '-c search_path=schema1,public'
                },
    'NAME': 'myDB',
    'USER': 'username',
    'PASSWORD': '***',
    'HOST': 'my.host.address',
    'PORT': '1234',
    } 
}  


#Path to DBrouter to handle PG schemas /sf/answers/3570520901/
DATABASE_ROUTERS = ('djangogirls.dbrouters.MyDBRouter',)
Run Code Online (Sandbox Code Playgroud)

在 中djangogirls/dbrouters.py,我有:

from legacydbapp.models import …
Run Code Online (Sandbox Code Playgroud)

django postgresql database-schema

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

如何从 psycopg2 中的查询保存 CSV 文件

我试图将 python 中对 PostgreSQL 数据库执行的查询结果保存在本地 .csv 中(使用 psycopg2)。

我可以在控制台中打印查询结果,但无法将其导出到 csv 文件。

我尝试过使用 copy_to 函数,但即使有文档我也无法弄清楚:

    # Retrieve the records from the database with query
    cursor.execute("SELECT col1 FROM myDB.myTable WHERE col1 > 2")
    records = cursor.fetchall()

    # Save to csv with copy_to
    io = open('copy_to.csv', 'w')
    cursor.copy_to(io, 'records', ',')
    print("Copied records from query into file object using sep = ,")
    io.close()
Run Code Online (Sandbox Code Playgroud)

这会引发错误“psycopg2.ProgrammingError:关系“记录”不存在”。

是否有更好的方法将查询结果存储在可以在copy_to中传递的本地表中?感谢您的任何提示!

python csv postgresql psycopg2

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

使用熊猫“to_csv”防止尾随零

我正在尝试将 CSV 字符串导出到 D3 Web 应用程序,但该命令to_csv坚持向数据添加尾随 0,这阻止了 D3 的正确使用。

这是一个说明问题的最小示例。

我的(简化的)数据框是:

>>> df = pd.DataFrame([['Alex',20.0000, 50.650]],columns=['Name','Age', 'Weight'])
   Name   Age  Weight
0  Alex  20.0   50.65
Run Code Online (Sandbox Code Playgroud)

df['Age']包含 a float,如下所示:

>>> df['Age']
0    20.0
Name: Age, dtype: float64
Run Code Online (Sandbox Code Playgroud)

然后根据这个答案,我运行.astype(object)以获得我想要的格式:

>>> df=df.astype(object)
   Name Age Weight
0  Alex  20  50.65
Run Code Online (Sandbox Code Playgroud)

现在,df['Age']包含一个object, 没有尾随零:

>>> df['Age']
0    20
Name: Age, dtype: object
Run Code Online (Sandbox Code Playgroud)

这就是我想用 导出的内容to_csv,但此命令会在数字后重新附加一个尾随 0,我想避免这种情况:

>>> df_csv = df.to_csv(sep=',', index = False)
>>> …
Run Code Online (Sandbox Code Playgroud)

python casting dataframe pandas d3.js

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

Python 中字典列表的条件运算

我想根据另一个键的条件(例如Gender == 'male')来总结此字典列表中所有人的年龄:

list_of_dicts= [  
              {"Name": "Ethan", "Gender": "male", "Age": 11},
              {"Name": "Nathan", "Gender": "male", "Age": 6},
              {"Name": "Sophie", "Gender": "female", "Age": 14},
              {"Name": "Patrick", "Gender": "male", "Age": 11}
]
Run Code Online (Sandbox Code Playgroud)

下面的代码完成了它,但我想知道是否有更Pythonic/紧凑的方法来做到这一点?也许类似于字典列表的 SQL 查询?

total_male_age = 0

for dict in list_of_dicts: 
    if dict.get("Gender") == "male":
        total_male_age = total_male_age + dict.get("Age")  


#total_male_age  = 28
Run Code Online (Sandbox Code Playgroud)

python json dictionary list

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

基于项目数组的 Select2 选择顺序

我正在尝试Select2根据数组设置所选项目的顺序。

已经提出了一个简单的解决方案,按照在下拉菜单中单击它们的顺序附加项目(请参阅本讨论中2rba 在 2017-10-26 上的回答):

        $("#selectCriteria").on("select2:select", function (evt) {
          var element = evt.params.data.element;
          var $element = $(element);
          $element.detach();
          $(this).append($element);
          $(this).trigger("change");
    });
Run Code Online (Sandbox Code Playgroud)

我想要做的是模仿这种行为,但是当传递所选项目的数组而不是在列表中手动单击它们时。我尝试了以下命令:

displayed_items = ["b", "c", "a"];  
$('#selectCriteria').val(displayed_items).trigger('change'); 
Run Code Online (Sandbox Code Playgroud)

但顺序没有保留。我尝试一次用一个元素循环命令,但每次新调用都会覆盖前一个元素:

 $('#selectCriteria').val("b").trigger('change'); 
 $('#selectCriteria').val("c").trigger('change'); 
 $('#selectCriteria').val("a").trigger('change'); 
Run Code Online (Sandbox Code Playgroud)

我看到了两种可能的解决方案,但缺乏使它们工作的背景:

  1. 上面的迭代应该如何适应而不覆盖之前添加的值?
  2. 我怎样才能结合这个小提琴中显示的方法 (来自 vol7ron在 github 上帖子),它几乎可以满足我的要求(即打开/关闭 .data('preserved-order',selected))?由于它正在使用,JSX我不确定如何在我的纯 JS/jQuery 脚本中重用该脚本。

javascript jquery jquery-select2

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

在 .forEach 完成后执行回调函数

我试图在 forEach 循环完成所有迭代后执行一个函数。

这个答案提供了一个有趣的解决方案,但我无法让它发挥作用。

这是我改编的代码,创建了一个简单的 asyncFunction()。

function callback () { console.log('all done'); }
function asyncFunction(item) {
  console.log("in async function, item is " + item)
}
var itemsProcessed = 0;

[1, 2, 3].forEach((item, index, array) => {
  asyncFunction(item, () => {
    itemsProcessed++;
    console.log("in callback area, itemsProcessed is " + itemsProcessed )
    if(itemsProcessed === array.length) {
      callback();
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

正如在此JSfiddle 中可见,脚本正确执行了异步函数,但未能进入递增itemsProcessed且应触发该callback()函数的部分。

我对胖箭头函数不太熟悉,所以错误可能来自它们的使用。

谁能解释为什么脚本没有按预期运行?

javascript foreach callback

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

使用.map()向JS对象添加递增值

我想知道是否可以使用.map()动态更改JS对象的添加值.

例如,静态使用.map()允许向数组的所有对象添加类似的ID.

friends = [
          {
            "age": 10,
            "name": "Castillo"
          },
          {
            "age": 11,
            "name": "Daugherty"
          },
          {
            "age": 12,
            "name": "Travis"
          }
        ]

// Static mapping --> adds 1 to all objects
friends_static=friends;
friends.map(elem => elem["id"] = 1);
console.log(friends_static)
Run Code Online (Sandbox Code Playgroud)

这回来了 [{age=10, name="Castillo", id=1}, {age=11, name="Daugherty", id=1}, {age=12, name="Travis", id=1}]

是否可以添加一个唯一的ID,以类似的方式为每个对象增加1?

参看 下面的说明性JSfiddle和示例代码.我知道这1++不合法,但只是表明了我想要实现的想法.

//Dynamic mapping? --> should add 1,2,3...to objects incrementally
/*
friends_dynamic=friends;
friends.map(elem => elem["id"] = 1++);
console.log(friends_dynamic)
*/
Run Code Online (Sandbox Code Playgroud)

这应该回来了 [{age=10, …

javascript

0
推荐指数
2
解决办法
586
查看次数