小编mu *_*u 無的帖子

菊花链Python/Django自定义装饰器

菊花链Python/Django自定义装饰器是不错的风格?通过不同的论点而不是收到?

我的许多Django视图函数都以完全相同的代码开始:

@login_required
def myView(request, myObjectID):
    try:
        myObj = MyObject.objects.get(pk=myObjectID)
    except:
        return myErrorPage(request)       

    try:
        requester = Profile.objects.get(user=request.user)
    except:
        return myErrorPage(request)

    # Do Something interesting with requester and myObj here
Run Code Online (Sandbox Code Playgroud)

仅供参考,这是urls.py文件中的相应条目:

url(r'^object/(?P<myObjectID>\d+)/?$', views.myView, ),
Run Code Online (Sandbox Code Playgroud)

在许多不同的视图函数中重复相同的代码根本不是DRY.我想通过创建一个装饰器来改进它,它将为我做这个重复的工作,并使新的视图功能更清洁,看起来像这样:

@login_required
@my_decorator
def myView(request, requester, myObj):        
    # Do Something interesting with requester and myObj here
Run Code Online (Sandbox Code Playgroud)

所以这是我的问题:

  1. 这是有效的吗?这是好风格吗?请注意,我将更改myView()函数的签名.这对我来说有点奇怪和危险.但我不确定为什么
  2. 如果我创建多个这样的装饰器来执行一些常见的功能但是每个调用包装函数的参数与装饰器接收的参数不同,那么将菊花链接在一起是否可以?
  3. 如果对上面的#1和#2没问题,那么向这个myView的用户指出他们应该传递的参数集的最佳方法是什么(因为只是查看函数定义中的参数不再是真有效)

python django python-decorators

5
推荐指数
3
解决办法
710
查看次数

断开本地分支与远程分支的连接

我有两个本地分支 A 和 B 跟踪同一个远程分支 C。我想保留所有分支,但我想删除连接 A -> C 但保留连接 B -> C。我该怎么做?

git branch remote-branch

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

django 提交后清除表单字段

我有一个上传表单,每次表单提交后,我想清除发布的数据,实际上表单保存了提交的数据。我知道,如果我将页面重定向到其他页面就可以解决这个问题,但我不这样做不想重定向我的页面,因为提交数据后,该页面中会显示一条成功消息。那么我如何在不重定向我的页面的情况下清除我的表单?

这是我的views.py 文件

def UserImageUpload(request):


    if request.method == 'POST':
            form = DocumentForm(request.POST,request.FILES)
            if form.is_valid():
                    messages.add_message(request, messages.SUCCESS, 'Your Image upload is waiting for Admin approval')


                    newdoc = Photo(photo = request.FILES['photo'],watermarked_image=request.FILES['photo'],user = request.user,name = request.POST['name'],description = request.POST['description'],keyword = request.POST['Image_Keyword'],uploaded_time=datetime.datetime.now(),Certified=request.POST['Certification'])

                    newdoc.save()
            else:
                    messages.add_message(request, messages.ERROR, 'Please Complete All Fields To Submit Your Image')



    else:
            form = DocumentForm()

    uploaded_image = Photo.objects.all()

    return render_to_response('myprofile/user_image_upload.html',{'uploaded_image':uploaded_image,'form':form},context_instance = RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

这是我的 forms.py 文件

from django import forms

class DocumentForm(forms.Form):
    photo = forms.ImageField( 
            label='Select A file',)
    name = forms.CharField(label='Image Name',max_length=50,widget=forms.TextInput(attrs={'class' : …
Run Code Online (Sandbox Code Playgroud)

python forms django

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

SQLAlchemy连接错误

我遇到了一些奇怪的错误,这些错误似乎是由Sqlalchemy使用的连接造成的,我无法准确确定..我希望有人有一个线索在这里发生什么.

我们正在开发Pyramid(版本1.5b1)并使用Sqlalchemy(版本0.9.6)进行所有数据库连接.有时我们会得到与数据库连接或会话相关的错误,大部分时间都是错误cursor already closedThis Connection is closed错误,但我们也得到其他相关的异常:

(OperationalError) connection pointer is NULL
(InterfaceError) cursor already closed
Parent instance <...> is not bound to a Session, and no contextual session is established; lazy load operation of attribute '...' cannot proceed

A conflicting state is already present in the identity map for key (<class '...'>, (1001L,))
This Connection is closed (original cause: ResourceClosedError: This Connection is closed)
(InterfaceError) cursor already closed
Parent instance <...> is not bound to …
Run Code Online (Sandbox Code Playgroud)

python multithreading sqlalchemy

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

Python - 两个列表列表的交集

这是我的两个清单;

k = [[1, 2], [4], [5, 6, 2], [1, 2], [3], [4], [5,9]]
kDash = [[1, 2], [4], [5, 6, 2], [1, 2], [3], [4], [5,6], [1,2]]
Run Code Online (Sandbox Code Playgroud)

我的输出应该如下;

[[1, 2], [4], [5, 6, 2], [1, 2], [3], [4]]
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到这个输出?

先感谢您

python intersection list

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

什么父进程的东西在Linux中新创建的子进程中共享

当进程使用子进程创建子进程时fork(),父进程的哪些内容与子进程共享.像地址空间,内存,信号等

注意: - 我已经通过了fork手册.我还需要更多关于它的信息.我也有谷歌它.但我不需要完全了解它.请有人解释我叉子是如何工作的.

linux

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

在字典中使用'if in'

我无法相信,但我被一项非常简单的任务所困扰.

我需要检查,如果值是在字典中的任何键或值.我可以找到密钥使用if 'A' in dictionary,但我似乎无法让它工作values.我意识到我可以使用for循环来做这个,我可以诉诸于此但我想知道是否有内置的方法.

python dictionary

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

.gitignore不适用于子目录中的文件

这是我的.gitignore文件的内容,它位于我的存储库的根目录:

# grails stuff to ignore
target
*.iml
*.ipr
.idea
*.log
*.swp   # vi swap files
.DS_Store  # OS X Finder cache files

# cocoapods stuff to ignore
Pods
Podfile.lock
Run Code Online (Sandbox Code Playgroud)

.DS_Store我的项目根目录中的文件被正确忽略,但git status给出:

$ git status
On branch master
Your branch is ahead of 'origin/master' by 2 commits.
  (use "git push" to publish your local commits)

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    ios/.DS_Store

nothing added to commit but untracked files present (use "git …
Run Code Online (Sandbox Code Playgroud)

git macos gitignore

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

将github提交/拉取请求应用为补丁

如何从github应用补丁?

我试着编译minisat,但是我遇到了两个来自clang编译的问题.

第一个问题是在这个github提交中解决的,它是从原来的github派生出来的.由于变化很小,我可以轻松地修补代码以手动工作.

第二个问题在这个github(https://github.com/niklasso/minisat/pull/17)中解决,但补丁不适用于原始源.我可以通过复制修改后的文件手动更新代码,但如果我可以将此补丁拉入我的本地目录会更好.用github可以做到吗?如果是这样,怎么办?

git github git-patch pull-request

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

新的repo命令(1.22)可用

当我这样做时,我开始在我的回购中突然收到以下警告信息repo init.我花了足够的时间在论坛上搜索它,但没有运气!

A new repo command ( 1.22) is available.
... You should upgrade soon:
Run Code Online (Sandbox Code Playgroud)

它是什么意思?

git repo

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