小编Man*_*pta的帖子

请求 - 如何判断您是否获得404

我正在使用Requests库并访问网站以使用以下代码从中收集数据:

r = requests.get(url)
Run Code Online (Sandbox Code Playgroud)

我想在输入不正确的URL并返回404错误时添加错误测试.如果我故意输入无效的网址,当我这样做时:

print r
Run Code Online (Sandbox Code Playgroud)

我明白了:

<Response [404]>
Run Code Online (Sandbox Code Playgroud)

编辑:

我想知道如何测试.对象类型仍然相同.当我做r.content或者r.text,我只是得到一个自定义的404页面的HTML.

python python-requests

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

使用python将数据从csv复制到postgresql

我在Windows 7 64位.我有一个csv文件'data.csv'.我想通过python脚本将数据导入postgresql表'temp_unicommerce_status'.

我的剧本是:

import psycopg2
conn = psycopg2.connect("host='localhost' port='5432' dbname='Ekodev' user='bn_openerp' password='fa05844d'")
cur = conn.cursor()
cur.execute("""truncate table "meta".temp_unicommerce_status;""")
cur.execute("""Copy temp_unicommerce_status from 'C:\Users\n\Desktop\data.csv';""")
conn.commit()
conn.close()
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误

Traceback (most recent call last):
  File "C:\Users\n\Documents\NetBeansProjects\Unicommerce_Status_Update\src\unicommerce_status_update.py", line 5, in <module>
cur.execute("""Copy temp_unicommerce_status from     'C:\\Users\\n\\Desktop\\data.csv';""")
psycopg2.ProgrammingError: must be superuser to COPY to or from a file
HINT:  Anyone can COPY to stdout or from stdin. psql's \copy command also works for anyone.
Run Code Online (Sandbox Code Playgroud)

python postgresql psycopg2 postgresql-copy

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

如何在两个django应用程序之间共享会话?

我有两个Django的应用,其在端口同一台服务器上809002.即urls www.abc.comwww.abc.com:9002 两者共享相同的数据库postgresql进行身份验证.我想在它们之间共享会话数据的共享,以便登录到一个应用程序的用户可以在另一个应用程序中自动登录.

我读了这些答案:多个Django应用程序,共享身份验证以及如何在同一个子域上获取不同的Django应用程序以共享会话cookie?

并在我的django应用程序中执行此操作:

  1. 在两者中使用相同的密钥.
  2. 添加以下行:

    SESSION_ENGINE ='django.contrib.sessions.backends.signed_cookies'SESSION_COOKIE_NAME
    ='abc'SESSION_COOKIE_DOMAIN ='.abc.com'

但我仍然无法达到目的.如何在两个django应用程序之间共享会话cookie,以便我可以进行共享身份验证?

python django cookies session

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

如何实现django otp?

我在看django-otp模块,想在我的项目中实现它.但我面临几个问题.

1)根据文档(它们在文档已经给出的方法)中,有三个级别的身份验证的:Anonymous,AuthenticatedAuthenticated + Verified.如果用户已经通过django的身份验证系统进行了身份验证,那么他将被要求进行otp验证(双向身份验证).

现在我想跳过它并通过otp验证/验证用户.而不是登录提示用户将输入电话号码并将收到otp进行验证.(我想绕过django的身份验证).

2)我还想在选定的页面上使用otp_required.即我将在我的网站上拥有匿名用户和经过验证的用户.

3)我找不到任何关于实施的例子.

我的问题是如何在我当前的场景中实现它.

编辑:Settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'home',
    'django_otp',
    'django_otp.plugins.otp_totp',
    'django_otp.plugins.otp_static',
]

MIDDLEWARE_CLASSES = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django_otp.middleware.OTPMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
Run Code Online (Sandbox Code Playgroud)

python authentication django

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

如何在django中传递多个url参数

我的html模板中有2个链接.第一个链接只传递1个参数到URL,第二个链接传递2个参数.像这样:

<a href="/products/{{categ_name}}">{{categ_name}}</a>
<a href="/products/{{categ_name}}/{{subcateg_name}}">{{subcateg_name}}</a>
Run Code Online (Sandbox Code Playgroud)

现在当我点击带有1个参数的链接时,它工作正常.我在django视图中获取参数值.
但是当我点击带有两个参数的链接时,我只得到第一个参数.我在第二个参数的值中得到None.

我的urls.py:

urlpatterns = patterns('',
            url(r'^products/(?P<categ_name>\w+)/', views.products, name='products_category'),
            url(r'^products/(?P<categ_name>\w+)/(?P<subcateg_name>\w+)/', views.products, name='products_subcategory'),
            url(r'^logout/',views.logoutView, name='logout'),)
Run Code Online (Sandbox Code Playgroud)

我的views.py:

def products(request, categ_name=None, subcateg_name=None):
    print categ_name, subcateg_name
    ...
Run Code Online (Sandbox Code Playgroud)

如何获得第二参数的值?

python django

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

如何使用 django 重定向功能传递上下文数据?

我有重定向到 URL 的功能。

return redirect('/orders')
Run Code Online (Sandbox Code Playgroud)

URL/orders有一些传递给它的上下文数据。我想传递一些额外的数据以及来自 URL 函数的数据,如下所示:

return redirect('/orders', {'message':'some_message'})
Run Code Online (Sandbox Code Playgroud)

我根据文档尝试这样做:

return redirect('/orders', message='some_message')
Run Code Online (Sandbox Code Playgroud)

但它没有将任何数据传递回 html。那么如何通过重定向传递数据呢?

python django

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

芹菜周期性任务没有执行

我正在学习芹菜,我创建了一个项目来测试我的配置.我安装celery==4.0.0django-celery-beat==1.0.1根据最新文档.

在drf_project(带有manage.py的主项目目录)/drf_project/celery.py中

from __future__ import absolute_import, unicode_literals
from celery import Celery
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'drf_project.settings')
app = Celery('drf_project')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
Run Code Online (Sandbox Code Playgroud)

在drf_project/drf_project/settings.py中

INSTALLED_APPS += ('django_celery_beat',)
CELERYBEAT_SCHEDULE = {
    "test_1": {
        "task": "tasks.print_test",
        "schedule": timedelta(seconds=2),
    },
}
Run Code Online (Sandbox Code Playgroud)

在drf_project/drf_project/init .py中

from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app

__all__ = ['celery_app']
Run Code Online (Sandbox Code Playgroud)

在我的user_management应用程序(drf_project/user_mangement /)中,我添加了tasks.py

from celery import Celery
from time import strftime

app = Celery()

@app.task
def print_test():
    print strftime('%Y-%m-%d %H:%M:%S')
    with open('abc.txt', 'ab+') as …
Run Code Online (Sandbox Code Playgroud)

python django celery

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

如何在硒中关闭打印对话框?

我正在尝试渲染一个在加载时自动显示打印对话框的页面。我想使用硒跳过它。我在互联网上搜索,但找不到任何合适的示例,因为大多数示例处理 javascript 警报而不是 Windows 警报。

我还安装了 python,robotframework因为很多人建议它,但也找不到任何示例。

我的问题是如何在Python中使用selenium和robotframework来消除Windows警报?

注意:这个问题是我之前问题的延续。python selenium 不更新弹出窗口 url

python selenium webdriver robotframework selenium-webdriver

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

Django nginx拒绝显示在框架中,因为它将“ X-Frame-Options”设置为“ SAMEORIGIN”

我已经在具有nginx和uwsgi的服务器上部署了django Web应用程序。我可以使用ip地址完美访问该网站。

我购买了一个域名abc.example.com,并将其指向我的IP地址。现在,当我转到域名时,它将加载一个空白页面并在浏览器控制台中引发错误:

在Chrome中:

Refused to display 'ip address' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
Run Code Online (Sandbox Code Playgroud)

在Mozilla中:

Load denied by X-Frame-Options: 'ip address' does not permit cross-origin framing.
Run Code Online (Sandbox Code Playgroud)

关键是我在整个应用程序中没有任何iframe。

这是什么错误,我该如何解决?

当我使用ip地址转到应用程序时,它可以像预期的那样完美运行。那么域的问题是什么?我仔细检查了Godaddy的dns区域中的设置,但什么都没找到。

django nginx x-frame-options

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

PostgreSQL触发器错误:控制在没有RETURN的情况下到达触发器过程的结束

我试图在Postgresql 9.5中像这样在我的表的列上创建一个触发器:

CREATE OR REPLACE FUNCTION app.combo_min_stock()
  RETURNS TRIGGER AS
$combo_sync$

DECLARE combo_product_ids INTEGER[] := array(SELECT combo_product_map.combo_productid FROM app.combo_product_map WHERE combo_product_map.productid=NEW.productid);
DECLARE comboid INTEGER;

BEGIN

  -- UPDATE MINIMUM STOCK FOR COMBO SKUS --

   FOREACH comboid IN ARRAY combo_product_ids
   LOOP

      UPDATE app.inventory SET
        good_stock = combo_data.min_good_stock,
        bad_stock = combo_data.min_bad_stock,
        to_be_updated = true
      FROM
        (SELECT
          product.productid,
          MIN(inventory.good_stock) as min_good_stock,
          MIN(inventory.bad_stock) as min_bad_stock
        FROM
          app.product,
          app.inventory,
          app.combo_product_map
        WHERE
          product.is_combo=true AND
          product.productid=comboid AND
          product.productid=combo_product_map.combo_productid AND
          combo_product_map.productid=inventory.productid
        GROUP BY
          product.productid) AS combo_data
      WHERE
        combo_data.productid=inventory.productid;


   END …
Run Code Online (Sandbox Code Playgroud)

postgresql triggers

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