我已经建立了一段时间的Django网站,但我从未启用过Django管理员.
用户帐户在LDAP和Django上都已注册,但主记录基于LDAP.所以我必须使用LDAP中的帐户作为超级用户.
当我启用Django Admin时,系统会提示我创建一个超级用户.我可以使用现有帐户(在LDAP和Django db上注册)作为超级用户吗?
怎么样?
k = [u'query_urls', u'"kick"', u'"00"', u'msg=1212', u'id=11']
>>> name, view, id, tokens = k
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
Run Code Online (Sandbox Code Playgroud)
我需要提供5个变量来解压缩这个列表.有没有办法用更少的东西解压缩,以便tokens获得列表的其余部分.我不想写另一行来附加到列表....
谢谢.
当然我可以切片列表,单独分配等等.但我想知道如何使用上面的语法做我想做的事情.
list 众所周知,用一大块空间进行初始化以优化扩展列表所需的时间(平均而言,我们不必继续像列阵那样创建新列表).
怎么样set?
以下结构使其空间浪费,因为list.据我所知,tuple它更节省空间,因为它是不可变的.我们可以做同样的事情set并且仍然可变吗?
set( [ 1, 2, 3] )
有人能告诉我Celery是在线程中还是在单独的子进程中执行任务?文档似乎没有解释它(读它3次).如果它是一个线程,它如何通过GIL(特别是谁以及如何通知事件)?
您如何比较芹菜的异步与Twisted的反应堆模型?芹菜毕竟是使用反应堆模型吗?
谢谢,
可能重复:
发生错误:缺少分隔符
这个愚蠢的错误给我带来了压力......
这是文件 ......
我花了一个小时试图找出它的错误....我是一个VIM用户.有人能指出原因吗?我用tab!
谢谢.
all: hello
hello: hello_world.c
gcc -Wall -o hello.exe hello_world.c
Run Code Online (Sandbox Code Playgroud) def __hello_world(*args, **kwargs):
.....
Run Code Online (Sandbox Code Playgroud)
我试过
from myfile import __helloworld
Run Code Online (Sandbox Code Playgroud)
我可以导入非私人的.
如何导入私有方法?
谢谢.
我现在使用单个下划线.
Traceback (most recent call last):
File "test.py", line 10, in <module>
from myfile.ext import _hello_world
ImportError: cannot import name _hello_world
Run Code Online (Sandbox Code Playgroud)
在我的test.py中
sys.path.insert(0, os.path.abspath(
os.path.join(
os.path.dirname(__file__), os.path.pardir)))
from myfile.ext import _hello_world
Run Code Online (Sandbox Code Playgroud) 我有一些外部服务。我的 Django 应用程序建立在我的外部服务 API 之上。为了与我的外部服务对话,我必须传入一个 auth cookie,我可以通过读取User(那个 cookie != django cookie)来获取它。
使用测试工具,例如webtests,requests我有麻烦写我的测试。
class MyTestCase(WebTest):
def test_my_view(self):
#client = Client()
#response = client.get(reverse('create')).form
form = self.app.get(reverse('create'), user='dummy').form
print form.fields.values()
form['name'] = 'omghell0'
print form
response = form.submit()
Run Code Online (Sandbox Code Playgroud)
我需要提交一个表单,它会在我的外部服务上创建一个用户。但要做到这一点,我通常会传入request.user(以验证我对外部服务的特权)。但我没有request.user。
对于这种东西,我有什么选择?
谢谢...
假设这是我的tests.py
import unittest
from django.test.client import Client
from django.core.urlresolvers import reverse
from django_webtest import WebTest
from django.contrib.auth.models import User
class SimpleTest(unittest.TestCase):
def setUp(self):
self.usr = User.objects.get(username='dummy')
print self.usr
.......
Run Code Online (Sandbox Code Playgroud)
我得到
Traceback …Run Code Online (Sandbox Code Playgroud) 这应该是特定于Django的,但我想它仍然是Python.
基本上,我不想在我继承的类中覆盖原始方法的工作(可能是Model类),但我想添加额外的验证.这可能吗?任何提示?
class MyUserAdminForm(forms.ModelForm):
class Meta:
model = User
def clean(self):
// do some additional work even though it's cleaned by parent's clean method
Run Code Online (Sandbox Code Playgroud) 我有这样的代码
def find_user(user_id):
if not users.lookup(user_id):
return jsonify(success=False, reason="not found")
else:
return users.lookup(user_id)
@app.route(...)
def view1(...):
user = find_user(...)
if user:
do_something
return jsonify(success=True, ....)
Run Code Online (Sandbox Code Playgroud)
关键是我有一个辅助函数,如果condition满足,我想立即返回响应.在这种情况下,如果找不到用户,我想返回一个请求,说明请求失败并给出原因.
问题是因为该函数还可以返回一些其他值(比如用户对象).我不会从请求中退回.相反,因为我们得到了一个赋值,所以我们将继续使用代码路径的其余部分.
我可能会做类型检查,但那很难看!
理想情况下,这是较长的代码
def view(...)
user = users.lookup(user_id)
if not user:
return jsonify(success=False....)
# if user is true, do something else
Run Code Online (Sandbox Code Playgroud)
辅助函数的重点find_user是提取公共代码,然后在其他一些类似的api中重用.
有没有办法直接在我当前的代码中返回响应?看起来这是一个deadend ...除非我改变代码的编写方式(如何返回值...)
假设我们有
我在变更集16中,我需要取消我在变更集#14中所做的更改,但保持#15和#16完好无损.
我可以用hg做这个吗?我觉得这是不可能的,因为变更集#15和#16取决于#14 ....我听说过队列补丁.它有关系吗?
谢谢