我知道明显的答案是使用virtualenv和virtualenvwrapper,但出于各种原因我不能/不想这样做.
那么我该如何修改命令呢
pip install package_name
Run Code Online (Sandbox Code Playgroud)
使pip安装默认值以外的包某处site-packages?
据我所知,Python中的两个主要HTML解析库是lxml和BeautifulSoup.我选择了BeautifulSoup作为我正在研究的项目,但除了找到更容易学习和理解的语法之外,我选择了它.但是我看到很多人似乎都喜欢lxml而且我听说lxml更快.
所以我想知道一个优于另一个的优点是什么?我什么时候想使用lxml?什么时候最好使用BeautifulSoup?还有其他值得考虑的图书馆吗?
我将在我的数据库中保存有关比赛的数据.我希望能够通过某些标准搜索比赛 - 尤其是比赛类型.
比赛类型保存在元组中.稍微缩短的例子:
COMPETITION_TYPE_CHOICES = (
(1, 'Olympic Games'),
(2, 'ISU Championships'),
(3, 'Grand Prix Series'),
)
Run Code Online (Sandbox Code Playgroud)
这些在模型中使用如此(再次 - 这是模型的缩短/简化版本):
class Competition(models.Model):
name = models.CharField(max_length=256)
type = models.IntegerField(choices=COMPETITION_TYPE_CHOICES)
Run Code Online (Sandbox Code Playgroud)
我不希望在搜索表单中需要字段,因此表单定义如下:
class CompetitionSearchForm(forms.Form):
name = forms.CharField(required=False)
type = forms.ChoiceField(choices=COMPETITION_TYPE_CHOICES,required=False)
Run Code Online (Sandbox Code Playgroud)
我希望ChoiceField中的select小部件显示一个空标签,但我没有得到一个.任何有关这方面的帮助将非常感谢:)
我有一个模型的内联formset,它有一个unique_together约束.因此,当我输入不满足此约束的数据时,它会显示:
__all__Please correct the duplicate values below.
代码,这是:
{% for error in formset.errors %}
{{ error }}<br/>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我不太喜欢__all__错误的开头,它很明显是字典键,所以我试过:
{% for key, error in formset.errors %}
{{ key }}: {{ error }}<br/>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但是我得到的只是:
__all__:
{{error}}根本不会显示.那么这里发生了什么?如何正确显示错误?
我可能在这里完全是noob,但我仍然不确定CSRF(跨站点请求伪造)攻击到底是什么.那么让我们看看三种情况......
1)我有一个POST表单,用于编辑我的网站上的数据.我希望只有登录的用户才能编辑这些数据.
2)我有一个站点,登录的用户和访客都可以使用.该站点的某些部分仅供登录用户使用,但也有所有用户都可以使用的POST表单 - 匿名而非(例如标准联系表单).是否应该保护联系表格免受CSRF攻击?
3)我有一个完全没有身份验证系统的站点(好吧,也许这是不切实际的,所以假设它有一个管理站点,它与其余部分分开,管理部分得到了适当的保护).该站点的主要部分仅供匿名用户使用.是否需要保护其上的POST表格?
在1)的情况下,答案显然是肯定的.但是在2和3的情况下我不知道(并且2和3之间的差异是否显着?).
我想在远程主机上创建一个名为passenger_wsgi.py的文件.我想使用以下字符串来创建文件的内容:
'''
import sys, os
sys.path.insert(0, "/ruby/%s/www/%s/django-projects")
sys.path.insert(0, "/ruby/%s/www/%s/django-projects/project")
import django.core.handlers.wsgi
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
application = django.core.handlers.wsgi.WSGIHandler()
''' % (user,host,user,host)
Run Code Online (Sandbox Code Playgroud)
用户和主机变量将是结构功能的参数.
我是python中任何类型的文件操作的新手,但我也不确定在结构中应该采用什么程序.我应该在本地创建文件,然后使用fabric的put命令上传它(然后删除本地版本)?我应该使用适当的bash命令(使用fabric的运行)在远程主机上创建文件吗?如果是这样,那么如何最好地处理字符串中的所有"和" - 面料会逃脱吗?或者我应该以某种不同的方式解决这个问题?
我将以最简单的SQL函数为例:
CREATE OR REPLACE FUNCTION skater_name_match(INTEGER,VARCHAR)
RETURNS BOOL AS
$$
SELECT $1 IN (SELECT skaters_skater.competitor_ptr_id FROM skaters_skater
WHERE name||' '||surname ILIKE '%'||$2||'%'
OR surname||' '||name ILIKE '%'||$2||'%');
$$ LANGUAGE SQL;
Run Code Online (Sandbox Code Playgroud)
如果我将其复制并粘贴到psql(PostgreSQL的shell)中,那么它会毫无问题地执行.
如果我像这样编写一段Python代码(当然是真正的数据库名称和用户):
import psycopg2
sql_function_above = '''CREATE OR REPLACE FUNCTION skater_name_match(INTEGER,VARCHAR)
RETURNS BOOL AS
$$
SELECT $1 IN (SELECT skaters_skater.competitor_ptr_id FROM skaters_skater
WHERE name||' '||surname ILIKE '%'||$2||'%'
OR surname||' '||name ILIKE '%'||$2||'%');
$$ LANGUAGE SQL;'''
try:
connection = psycopg2.connect("dbname='x' user='x' host='localhost' password='x'");
except:
print "I am unable to connect to …Run Code Online (Sandbox Code Playgroud) 我还没有使用过Django和Python的内置测试功能,但是我想最终开始......在整个开发过程中我想要检查的最明显的事情之一是我的所有页面都有效在所有可能的情况下.
最好的方法是什么?
我希望在我的表单中使用一些jquery,我希望使用一些现成的解决方案 - 似乎有很多...
你会为此目的推荐哪些django应用程序?哪个最受欢迎?
编辑#1: 嗯......我想我没有在我的问题上投入足够的精力......我希望有更多的选择/澄清......
似乎有大量的jquery应用程序在那里.这是一个随机选择:
我认为明显的答案是"使用能够提供所需功能的那个",因为其中大多数都有不同的用途.但我想知道哪些是常用的...或者也许大多数人只是倾向于编写自己的代码?
对于那些对jquery一无所知的人来说,使用其中的一个或几个更容易吗?或者"手工"更容易吗?
python ×6
django ×5
django-forms ×3
bash ×1
csrf ×1
django-apps ×1
fabric ×1
html ×1
html-parsing ×1
jquery ×1
lxml ×1
pip ×1
postgresql ×1
psycopg2 ×1
security ×1
sql ×1