小编maa*_*zza的帖子

Django在urls.py中多次导入视图

在Django中,是否不可能从urls.py导入多个视图?

例如,我在urls.py中有以下代码:

from mysite.books import views
from mysite.contact import views

urlpatterns = patterns('',
    (r'^contact/$', views.contact),
    (r'^search/$', views.search),
)
Run Code Online (Sandbox Code Playgroud)

但是,除非我禁用其中一对,否则服务器会显示错误.所以我的问题有三个:

1)是否不可能有多个导入视图语句?2)如何解决这个问题?3)什么是放置所有views.py的最佳做法?一个文件?多个文件?等等

谢谢.

django

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

Django:当管理模板已经被覆盖时不能覆盖吗?

要将一些内容添加到模型的 Django 管理视图中,我想覆盖change_form.html模板。根据文档,我需要change_form.html在文件夹中创建一个文件/project-path/templates/admin/appname/modelname/。当然,我需要确保该路径在TEMPLATE_DIRS. 这样的文件可能如下所示:

{% extends "admin/change_form.html" %}
{% load i18n  %}

{% block after_field_sets %}
SOME CONTENT
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

但是,我使用django-guardian来获得对象权限。这个 Django 应用程序也覆盖change_form.html(它工作正常——相关源似乎在这里),但 Django 没有选择我的模板扩展文件(即上面示例中的“一些内容”没有显示)。该块/件我要重写是相同的那些Django的监护人覆盖,最终我想有增加的change_form.htmlDjango的guardion的我的模板。

我在这里做错了什么?是否有可能让多个应用程序覆盖管理模板?

如果感兴趣,这是我的TEMPLATE_LOADERS设置:

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader'
)
Run Code Online (Sandbox Code Playgroud)

此外,django-guardian 是INSTALLED_APPS数组中的最后一个应用程序。

python django django-templates django-admin django-guardian

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

保存自定义表单django的formset

我想在django中保存一个formset.为此,我有我的模型和自定义表单.然后我这样创建我的formset:

QuoteFormSet = formset_factory(QuoteForm, extra=2)
formset = QuoteFormset(request.POST)
Run Code Online (Sandbox Code Playgroud)

但是当我做formset.save()时,我得到了 AttributeError: 'QuoteFormFormSet' object has no attribute 'save'

我的模特:

class Quote(models.Model):
    country = models.CharField(max_length=2,)
    street = models.CharField(max_length=100,)
Run Code Online (Sandbox Code Playgroud)

我的表格:

class QuoteForm(forms.ModelForm):
    class Meta:
        model = Quote
    country = forms.ChoiceField(choices=COUNTRIES, required=False)
    street = forms.CharField(max_length=100, required=False)
Run Code Online (Sandbox Code Playgroud)

python django django-models formsets

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

在django中保存对象列表

我正在使用django 1.5,我正在尝试做这样的事情:

    quotes = formset.save()
    user = client_form.save()
    for quote in quotes:
        quote.client = user
    quotes.save()
Run Code Online (Sandbox Code Playgroud)

但是列表没有save()方法,所以有一些内置的功能可以做类似的事情吗?

我发现这个关于在Django中批量保存对象的问题

django 1.5仍然是真的吗?有没有办法避免对列表的每个对象进行save()调用?

这是我的实际视图代码:

def new_quote(request):
    QuoteLineFormSet = modelformset_factory(QuoteLine, form=QuoteLineForm, extra=2)

    if request.method == 'POST':
        formset = QuoteLineFormSet(request.POST, request.FILES, queryset=QuoteLine.objects.none())
        quote_form = QuoteForm(request.POST, request.FILES)
        if formset.is_valid() and quote_form.is_valid():
            quote_lines = formset.save(commit=False)
            #quote_lines = formset.get_queryset()
            quote = quote_form.save()
            for quote_line in quote_lines:
                quote_line.quote = quote
                quote_line.save()
            request.session['quote_id'] = quote.id
            return HttpResponseRedirect(reverse('new_client'))
    else:
        formset = QuoteLineFormSet(queryset=QuoteLine.objects.none())
        quote_form = QuoteForm()

    return render(request, 'request_quote_form.html', {
        'formset': …
Run Code Online (Sandbox Code Playgroud)

python django django-orm django-views django-1.5

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

有没有办法跟踪HTML元素的所有更改?

是否有(良好)方法来跟踪HTML元素的所有更改?

我尝试使用javascript与jQuery但它不起作用.

$('div.formSubmitButton input[type="submit"]').change(function(event){
                alert(event);
            });
Run Code Online (Sandbox Code Playgroud)

不知何故,在提交按钮上设置了一个样式属性,但我无法找到它的位置和方式.

html javascript css jquery

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

Django 单元测试 Sekizai 和 django cms

如何在 django 中编写测试?我阅读了文档:https://docs.djangoproject.com/en/dev/topics/testing/overview/

但是我们使用 django-cms 和 sekizai 所以当我做一个简单的测试时,例如:

from django.test import TestCase
from django.test.client import Client

class AccessTest(TestCase):
    def setUp(self):
        # Every test needs a client.
        self.client = Client()

    def test_details(self):
        # Issue a GET request.
        response = self.client.get('/')

        # Check that the response is 200 OK.
        self.assertEqual(response.status_code, 200)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Traceback (most recent call last):   File "/home/maazza/PycharmProjects/django_my_app/search_engine/tests.py", line 18, in test_details
    response = self.client.get('/')   File "/home/maazza/.virtualenvs/django_my_app/local/lib/python2.7/site-packages/django/test/client.py", line 439, in get
    response = super(Client, self).get(path, data=data, **extra)   File "/home/maazza/.virtualenvs/django_my_app/local/lib/python2.7/site-packages/django/test/client.py", line …
Run Code Online (Sandbox Code Playgroud)

python django unit-testing django-cms django-sekizai

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

如何在pycharm中查看我的sqlite数据库的架构?

我在django项目中有sqlite数据库,一切正常.

但是看到django dbshel​​l不适用于sqlite我发现pycharm有一个数据库连接器/管理器,但我找不到我可以输入sql命令或查看架构的位置.

谢谢

sqlite pycharm

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

如何在android中的NumberPicker中自定义数字的值?

我有一个数字选择器,用于以 MB 为单位设置数据限制。现在,我有 numberPicker,包含按顺序排列的数值,如 [1,2,3,....., 2000 MB]。

但我想要一个 numberPicker,它应该包含像 [100,200,300,...., 2000MB] 这样的数值。我怎样才能做到这一点?

android android-number-picker

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

等待使用os.system的孩子

我使用了很多os.system调用来在for循环中创建后台进程.我如何等待所有后台进程结束?

os.wait 告诉我没有孩子的过程.

ps:我正在使用Solaris

这是我的代码:

#!/usr/bin/python
import subprocess
import os

pids = []
NB_PROC=30

for i in xrange(NB_PROC):
        p = subprocess.Popen("(time wget http://site.com/test.php 2>&1 | grep real )&", shell=True)
        pids.insert(0,p)
        p = subprocess.Popen("(time wget http://site.com/test.php 2>&1 | grep real )&", shell=True)
        pids.insert(0,p)

for i in xrange(NB_PROC*2):
        pids[i].wait()
os.system("rm test.php*")
Run Code Online (Sandbox Code Playgroud)

python shell os.system

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

如何在Google App Engine中传递关于cron的参数?

我正在尝试使用参数在Google App Engine中运行cron作业,但无法在cron.yaml中发送任何参数.任何人都知道如何在cron.yaml中发送参数?

handlers:
- url: /testing
  script: testing.php
Run Code Online (Sandbox Code Playgroud)

我想发送的是testing.php?testing = 12345,但是如果我这样写的话,脚本将不会运行.

我看了这个:

如何在Google App Engine上将参数传递给python cron任务?

..但我不太理解它,因为它适用于Python.

谢谢!

php google-app-engine

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