小编Joe*_*nin的帖子

在Vim中缩进光标上方的多行

我知道3>>会缩进当前行和光标下面的两行.如何缩进当前行和上面的两行?

vim indentation

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

Django模型日期字段中可选的年/月/日

我希望Django模型有一个日期字段,其中年,月和日都是可选的.示例值可以是通用的,也可以2008是特定的May 10, 2008.是否可以定义一个DateField这样的行为?或者我最好将年/月/日定义为单独的整数,像这样?

model Book(models.Model):
    publication_year = models.IntegerField(blank=True, null=True)
    publication_month = models.IntegerField(blank=True, null=True)
    publication_day = models.IntegerField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

python django datetime date django-models

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

Django部署的Linux用户权限

假设一个Django站点位于生产服务器上/var/virtualenvs/sitename,其目录结构如下所示:

/var/virtualenvs/sitename/
    logs/
        access.log
        error.log
        ...
    media/
        ...
    src/
        app_1/
        app_2/
        django_project_name/
            manage.py
            django_project_name/
                settings.py
                urls.py
                wsgi.py
    static/
        ...
Run Code Online (Sandbox Code Playgroud)

在安全的生产环境中为这些文件分配所有权和权限的最佳方法是什么?

假设设置使用nginx作为反向代理,Gunicorn作为Django服务(虽然适用于其他工具的一般答案也会有所帮助).

linux security deployment django permissions

5
推荐指数
0
解决办法
706
查看次数

无法通过MySQLdb在Python脚本中执行INSERT语句

我正在尝试INSERT使用MySQLdb从Python脚本在MySQL表上执行基本语句.我的表看起来像这样:

CREATE TABLE `testtable` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `testfield` varchar(255) NOT NULL,
    PRIMARY KEY (`id`)
)
Run Code Online (Sandbox Code Playgroud)

从MySQL命令行运行此查询工作正常:

INSERT INTO `testtable` (`id`, `testfield`) VALUES (NULL, 'testvalue');
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从Python脚本执行查询时,不会插入任何行.这是我的代码:

conn = MySQLdb.connect(host=db_host, port=db_port, user=db_user, passwd=db_password, db=db_database)
cursor = conn.cursor ()
cursor.execute ("INSERT INTO `testtable` (`id`, `testfield`) VALUES (NULL, 'testvalue')")
print "Number of rows inserted: %d" % cursor.rowcount
cursor.close()
conn.close()
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这将打印"插入的行数:1." 我还可以确认此查询会增加ID字段,因为当我通过命令行添加另一行时,其ID的值与Python脚本成功插入其行的值相同.但是,运行SELECT查询不会返回脚本中的任何行.

知道出了什么问题吗?

python mysql sql

4
推荐指数
2
解决办法
7726
查看次数

在django-taggit中,如何获取与特定用户关联的对象的标签?

我有一系列与特定用户相关联的对象,如下所示:

from django.db import models
from django.contrib.auth.models import User
from taggit.managers import TaggableManager

class LibraryObject(models.Model):
    title = models.CharField(max_length=255)
    owner = models.ForeignKey(User)
    tags = TaggableManager()
    class Meta:
        abstract = True

class Book(LibraryObject):
    summary = models.TextField()

class JournalArticle(LibraryObject):
    excerpt = models.TextField()

# ...etc.
Run Code Online (Sandbox Code Playgroud)

我知道我可以像这样检索所有标签:

>>> from taggit.models import Tag
>>> Tag.objects.all()
Run Code Online (Sandbox Code Playgroud)

但是,如何检索与特定用户关联的所有标记?我想象的东西Tag.objects.filter(owner=me),但当然不起作用.

作为参考,这是django-taggit文档.

python tags django django-models django-taggit

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

在 PDF 中添加链接

我有几个用 Microsoft Word 生成的 PDF。我想要:

  1. 使用正则表达式在 PDF 文本中查找匹配项。
  2. 将匹配文本转换为指向外部 URL 的链接。
  3. 保存新版本的 PDF。

如果我在 HTML 中执行此操作,它将如下所示:

<!-- before: -->
This is the text to match.

<!-- after: -->
This is the text to <a href="http://www.match.com/" target="_blank">match</a>.
Run Code Online (Sandbox Code Playgroud)

如何对 PDF 执行此操作?

我更喜欢 Python,但我对其他选择持开放态度。

编辑:我无权访问原始 Word 文档。我需要自己操作 PDF。我正在寻找一种使用 Python PDF 库(或其他语言中的类似库)的技术。

编辑 2:我知道 PDF 的源代码不包含文字字符串。我想知道是否有一种方法可以执行以下操作:(1)提取文本,(2)查找匹配项,以及(3)对于每个匹配项,在原始 PDF 中的文本位置周围绘制一个可点击的框。我最接近的是 PyPDF2 的addLink(),但它在 PDF中添加了内部链接,而不是指向外部 URL 的链接。

python regex pdf string text

3
推荐指数
2
解决办法
7071
查看次数

如何将光标移动到Vim中字符串的末尾?

假设我在Vim中编辑这一行JavaScript:

var opener = 'As Gregor Samsa awoke one morning from uneasy dreams he found himself transformed in his bed into a gigantic insect';
Run Code Online (Sandbox Code Playgroud)

如果我的光标是在GGregor,我该如何将它移动到tinsect

我不是在谈论移动到结束.我正在谈论移动到封装在单引号中的JavaScript 字符串的末尾.(我知道我可以用它/'h,但我想知道是否有一个更通用的命令 - 可能是这样的%.)

vi vim

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

仅当另一个模型字段为true时,才需要管理站点中的模型字段

在我的一个模型中,我希望只有在另一个布尔模型字段为真时才需要外键对象.如何配置管理站点以这种方式运行?

我的models.py包含:

from django.db import models

class ThingOne(models.Model):
    name = models.CharField(max_length=100)

class ThingTwo(models.Model):
    name = models.CharField(max_length=100)
    use_thingone = models.BooleanField()
    thingone = models.ForeignKey(ThingOne, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

我的admin.py包含:

from myapp.models import ThingOne
from myapp.models import ThingTwo
from django.contrib import admin

admin.site.register(ThingOne)
admin.site.register(ThingTwo)
Run Code Online (Sandbox Code Playgroud)

thingone如果use_thingone是真的,我该如何调整它以产生一个必需的外键字段?

python django foreign-keys django-models django-admin

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

以 80 个字符换行

我想将超过 80 个字符的行拆分为与原始行具有相同缩进级别的多行。它应该只在空白字符处进行切割,以免单词被一分为二。所以这:

 \begin{enumerate}
     \item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sed tempus odio. Phasellus lobortis suscipit mattis. Nulla facilisi. In nisi turpis, tristique ut accumsan at, sagittis a orci. Ut nisl enim, eleifend quis fermentum commodo, fermentum a velit. Maecenas a augue nec leo fermentum auctor et ut turpis. Donec ultricies ligula sed mi suscipit sagittis.
 \end{enumerate}
Run Code Online (Sandbox Code Playgroud)

...会变成这样:

\begin{enumerate}
    \item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum
    sed tempus odio. Phasellus lobortis suscipit mattis. …
Run Code Online (Sandbox Code Playgroud)

vim macros text macvim

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

使用自动缩放处理EC2/S3上的Wordpress媒体文件

我正在使用Amazon AWS上的WordPress部署配置.我在Ubuntu EC2实例上运行Apache上的WordPress.我正在使用W3 Total Cache进行缓存,并从S3存储桶提供用户上传的媒体文件.负载均衡器将流量分配到两个EC2实例,并通过自动扩展来处理重负载.

问题是用户上传的媒体文件存储在本地wp-content/uploads/,然后同步到S3存储桶.这意味着EC2实例之间的媒体文件不一致.

以下是我正在考虑的方法:

  1. 使用WordPress插件将媒体文件直接上传到S3,而无需在本地存储它们.问题是,我发现的唯一插件(这个这个)是错误的,维护得很差.我宁愿不花几个小时自己修理其中一个.还不清楚它们是否与W3 Total Cache完全集成(我还想将其用于其他缓存工具).
  2. 拥有一个主实例,用户可以访问管理界面并上传媒体文件.所有媒体文件都将本地存储在此实例上(并通过W3 Total Cache同步到S3).自动扩展将部署没有本地文件存储的从属实例.
  3. 使所有EC2实例相同并指向wp-content/uploads/单独的EBS卷.所有实例都将共享媒体文件.
  4. 使用rsync在运行的EC2实例之间复制媒体文件.

有明显的赢家吗?我还应该考虑其他方法吗?

wordpress caching amazon-s3 amazon-ec2 autoscaling

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