小编Kye*_*e R的帖子

Python全局异常处理

所以我想抓住KeyboardInterrupt全球,并妥善处理它.我不想把我的整个脚本包含在一个巨大的try/except语句中,因为这听起来很糟糕.有没有办法做到这一点?

python exception

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

我的软删除荣誉模型经理应该是我模特的默认经理吗?

我正在为我的Django项目构建软删除功能.我使用自定义模型管理器实现了这一点(即执行初始过滤get_queryset(),加上覆盖Model/ Manager/ QuerySet delete().

Django文档(1.11):

如果您使用自定义管理器对象,请注意第一个管理器Django遇到(按照它们在模型中定义的顺序)具有特殊状态.Django将类中定义的第一个Manager解释为"默认"管理器,Django的几个部分(包括dumpdata)将专门为该模型使用该Manager.因此,在选择默认管理器时要小心谨慎,以避免重写get_queryset()导致无法检索您想要使用的对象.

我的软删除管理程序管理器目前是我模型的默认管理器(在模型类上声明的第一个管理器).它也被分配给objects.

这对我来说很方便,因为很多Django代码都使用默认的模型管理器(例如,MultipleObjectMixin.get_queryset()如果你的MultipleObjectMixin-inheriting View只是model定义了属性).

然而,dumpdata 同样使用自定义模型管理器的事实吓坏了我,并让我考虑设置默认模型管理器的其他未知的意外后果.如果我执行a manage.py dumpdata,我希望我的软删除模型包含在转储中.因此,我开始怀疑自己选择覆盖默认模型管理器以过滤掉可用记录.

同时,我很欣赏设置默认模型管理器给我的便利(对通用CBVs.etc的零工作支持),如果可能的话我想维护它.

什么是最好的方法来解决这个问题?

python django

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

MVC应该如何在CodeIgniter中工作

作为一个大多数自学成才的程序员,我在设计模式等方面已经迟到了.我正在使用CodeIgniter编写一个劳动管理Web应用程序.

我在学校做了一些MVC ASP.NET/C#和Java,并且惯例是你的模型主要由代表实际对象的类组成,但也抽象了所有的数据库连接等......这是非常标准的MVC东西从我收集到的.

我想我说对,CI完全看不到数据库连接(除非你去看),这对于课程来说是标准的,你可以创建的模型可以将'通用'CRUD方法抽象得更多创建一些对特定模型更有用的方法.

我遇到问题,因为它与我习惯使用MVC的不同之处在于,每当你说...从数据库返回一行时,惯例就是将它放在一个关联数组或标准对象中使用表示行中数据的属性.

在ASP中,您可以构建实际的类来存储此信息.比如你有一个House类和数据将被存储为属性(例如bedrooms,bathrooms,address)和方法将是有用的东西,你可以对数据进行修改(如printInfo()可能print("$address has $bedrooms bedrooms and $bathrooms bathrooms!')).

我得到的印象 - 仅仅来自我在互联网上看到的代码 - 这不是标准的做事方式.你应该只使用数组或通用对象,并说...做$this->house_model->print_info($houseobject)而不是$houseobject->print_info();

谢谢.

php model-view-controller codeigniter web

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

Bootstrap Glyphicon作为按钮

假设我想使用glyphicon作为表单的提交按钮.我该怎么做呢?

详细说明,我不希望传统按钮的"可见"元素.只是一个glyphicon,因为它通常会出现在文本中.

我已经尝试过使用<button><input type='button'>使用glyphicon类,并且(正如人们所期望的那样),没有运气.

html css twitter-bootstrap

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

从 dockerfile 构建 docker 镜像

这是我在终端中构建映像的命令,sudo docker build -t actinbox3.2:latest.

我收到这个错误

" Step 0 : FROM iamdenmarkcontrevida/base
        Pulling repository iamdenmarkcontrevida/base
        INFO[0020] Repository not found"
Run Code Online (Sandbox Code Playgroud)

文件

    # Dockerfile for base image of actInbox
    FROM iamdenmarkcontrevida/base

    MAINTAINER Denmark Contrevida<DMcontrevida@gmail.com>


    # Config files
    COPY config /actinbox_config/
    COPY script /actinbox_script/
    COPY database /actinbox_db/

    # Config pyenv
    RUN echo 'export PYENV_ROOT="/root/.pyenv"' >> /root/.bashrc && \
        echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /root/.bashrc && \
        echo 'eval "$(pyenv init -)"' >> /root/.bashrc && \
    # Config Nginx
        rm /etc/nginx/sites-enabled/default && \ …
Run Code Online (Sandbox Code Playgroud)

docker

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

如何将一个 &lt;div&gt; 元素放在另一个 &lt;div&gt; 下方

我刚刚用 Codecademy 完成了 HTML/CSS 的工作。其中的“项目”之一就是制作自己的简历。我从该项目中获取了 HTML/CSS,并对其进行了调整以使简历看起来更好。我目前正在尝试将其中一个div(简历中有关我的职业目标的文字部分)放在另一个下div,即header. 然而,它不起作用。“目标div”当前位于div标题后面。我到底如何才能让第二个div目标低于第一个目标div

我读过一些关于如何应该float向左header div然后输入clear:both;目标的内容div,但这不起作用。

超文本标记语言

<div id="header">
        <p id="name">My Name</p>
        <a href="mailto:myemail@email.com"><p id="email">myemail@email.com</p></a>
    </div>
    
    <div id="objective"></div>
    
    
    <div class="left"></div>
    <div class="right"></div>
    
    <div id="footer">
        <p>1234 Anywhere Street, Brooklyn NY 11216 | Tel: (123) 456-7890</p>
    </div>
Run Code Online (Sandbox Code Playgroud)

CSS

div {
border-radius: 5px;
}

#header {
z-index:1;
position: fixed;
width: 98%;
margin-top: -20px;
height: 60px;
background-color: #668284;
margin-bottom: …
Run Code Online (Sandbox Code Playgroud)

html css floating css-float

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

我必须使用 AWS RDS 的副本,我应该如何设置 django 设置?

我的 Django 应用程序必须大量读取 RDS (maridadb)。所以我想,如何解决这个性能问题?RDS 有一个副本。我想将 Django 设置为使用多数据库。我怎样才能做到这一点?

python django rds amazon-web-services

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

在Windows上运行Django的'WinError 10013'

我收到这个问题已经快一个月了,非常感谢您的帮助。尝试登录Django Web应用程序时,我在/ accounts / login /遇到OSError。我能够以127.0.0.1:8000/admin登录,但无法在/ accounts / login登录,从而产生错误代码:

OSError at /accounts/login/
[WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions

Request Method: POST
Request URL:    http://127.0.0.1:8000/accounts/login/
Django Version: 1.11.1
Exception Type: OSError
Exception Value:    
[WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions
Exception Location: C:\Python35-32\lib\socket.py in create_connection, line 702
Python Executable:  C:\Python35-32\myvenv_python3\Scripts\python.exe
Python Version: 3.5.2
Python Path:    
['C:\\Users\\Kaleab\\Desktop\\ecomstore',
 'C:\\Python35-32\\lib\\site-packages\\sqlalchemy-1.1.7-py3.5-win32.egg',
 'C:\\Python27', …
Run Code Online (Sandbox Code Playgroud)

python sockets windows django

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

使用 Vue 监听应用外的 DOM 事件

我需要使用 Vue.js 来逐步增强现有的服务器端呈现的表单。我需要根据表单上另一个字段的值更改<select>'s <options>

在我看来,我无法在<form>父元素(或另一个父元素)上安装 Vue,因为我丢失了所有需要维护的服务器端渲染内容。

我已经安装在<select>我希望动态的。这使我可以根据需要动态生成<option>s。然而,另一个表单输入元素(mounted 的同级元素<select>)现在不在我的 Vue 范围内。我的 Vue 应用程序如何收到相关字段更改的警报,以便它可以相应地更新我的<option>s?

据我了解,Vue 有自己的事件系统,所以我将不得不自己连接一个 DOM 事件侦听器 - 这完全没问题。这就是我所得到的。

旁白:我明白,鉴于无限的时间、金钱和资源,我应该遵循让我的整个用户体验成为 SPA 的趋势,这将通过火箭发射器到锤子钉子的方式解决这个问题。然而,这不是一个选项。我必须逐步增强SSR输出。

javascript vue.js

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

Django 签名 cookie 会话存储、重放攻击和 SESSION_COOKIE_AGE

根据Django 文档,签名 cookie 会话存储容易受到重放攻击:

另请注意,虽然 MAC 可以保证数据的真实性(它是由您的站点生成的,而不是其他人生成的)和数据的完整性(它都在那里并且是正确的),但它不能保证新鲜度,即你被送回你发送给客户的最后一件事。这意味着对于会话数据的某些用途,cookie 后端可能会让您遭受重放攻击。与其他会话后端保持每个会话的服务器端记录并在用户注销时使其失效不同,基于 cookie 的会话在用户注销时不会失效。因此,如果攻击者窃取了用户的 cookie,即使用户退出,他们也可以使用该 cookie 以该用户的身份登录。如果 Cookie 比您的 SESSION_COOKIE_AGE 更旧,则它们只会被检测为“过时”。

这是否意味着:

  1. 我们依靠 cookie 的客户端过期来确保会话数据被销毁(因此,如果在浏览器删除 cookie 之前捕获 cookie 内容,则仍有可能进行重放攻击),或
  2. 服务器检测SESSION_COOKIE_AGE数据的陈旧性(与它认为陈旧的数据进行比较并明确拒绝数据。

从技术上讲,Django 似乎可以在不保留此数据服务器端的情况下确定会话的“旧”程度,但是文档似乎不清楚这是否正在完成,或者 Django 是否依赖/信任用户的浏览器杀死旧的 cookie(因此如果数据在到期之前被捕获,会话仍然可以重播)。

django cookies session

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

复杂的Django查询

我的大杂烩应用程序的查询超出了我对Django的ORM如何工作的了解.

这是我当前(不正确)的尝试:

queryset = Mentor.objects.filter(
    shift__session = session,
    jobs_desired = job
).exclude(
    shift__session = session,
    shift__jobs__time = job.time
)
Run Code Online (Sandbox Code Playgroud)

如果您想阅读它们,我的模型如下.

最初的filter()工作正常.我的问题是exclude()链接到最后.

exclude()似乎排除Mentors的:

  • Shift满足指定条件的关联(shift__session = session),
  • Shift符合第二组标准的(可能不同的)关联shift__jobs__time = job.time.

我只想过滤掉与它们相关联的符合标准的Mentors Shift.

有任何想法吗?

class DojoSession(models.Model):
    term = models.ForeignKey(DojoTerm, help_text = "Dojo Term")
    date = models.DateField(
        blank = False,
        help_text = "Date during which the session will take place."
    )

    start = models.TimeField(
        blank = …
Run Code Online (Sandbox Code Playgroud)

python django

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

Bootstrap 3 input-group-addon后缀未附加到表单字段

使用Bootstrap 3作为C#ASP.NET MVC5项目的一部分.

在尝试使用input-group-addon为表单字段添加"GB"后缀时,我遇到了一个非常奇怪的问题.

这是C#:

@using (Html.BeginForm()) 
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        <hr />
        @Html.ValidationSummary(true)

        <div class="form-group">
            @Html.LabelFor(model => model.capacity, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                <div class="input-group">
                    @Html.TextBoxFor(model => model.capacity, new { @class = "form-control" })
                    <span class="input-group-addon">GB</span>
                </div>
                @Html.ValidationMessageFor(model => model.capacity)
            </div>
        </div>
    </div>

}
Run Code Online (Sandbox Code Playgroud)

这相当于:

    <form action="/NewSpaceRequest/Create" method="post"><input name="__RequestVerificationToken" type="hidden" value="tP5XKKhflSS8K1e7q1I_ZSuR8Ty7X88FfuOMG5JhmF-KXtUOcn4SQdNGTMZZVC2pdBMjb7RgNrIB90Y9I5C_FgX9xmMLrwrbiFZde7PRZ13gCqjBDAVglM38T7j09-C-uNkRSCZbFqDgiU_XcH9D-w2" />
<div class="form-horizontal">
            <hr />

            <div class="form-group">
                <label class="control-label col-md-2" for="capacity">Capacity</label>
                <div class="col-md-10">
                    <div class="input-group">
                        <input class="form-control" data-val="true" data-val-number="The field Capacity must be a …
Run Code Online (Sandbox Code Playgroud)

css c# twitter-bootstrap

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

Django FileField不与Python 3的csv模块配合

我有这个表格:

class CSVImportForm(AuthorshipMixin, FormMixin, forms.Form):

    data = forms.FileField()

    def import_csv(self):
        school_csv = csv.DictReader(self.cleaned_data['data'])
        for row in school_csv:
            print(row)
Run Code Online (Sandbox Code Playgroud)

的预期目的import_csv()是将CSV导入应用程序的数据库,但是为了简洁起见,已对其进行了更改。

当我尝试进行遍历时会发生异常school_csv,我猜这是DictReader第一次尝试读取文件时:

Traceback:
File "/usr/local/lib/python3.5/dist-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.5/dist-packages/django/views/generic/base.py" in view
  71.             return self.dispatch(request, *args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/django/views/generic/base.py" in dispatch
  89.         return handler(request, *args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/django/views/generic/edit.py" in post
  215.             return self.form_valid(form)
File "/opt/project/project/import/views.py" in form_valid
  16.         form.import_csv()
File "/opt/project/project/import/forms.py" in import_csv
  67.         for row in school_csv:
File "/usr/lib/python3.5/csv.py" in …
Run Code Online (Sandbox Code Playgroud)

python django python-3.x

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