小编Gra*_*ntU的帖子

在不带引号的字段错误中看到的CSV换行符

以下代码一直有效,直到今天我从Windows机器导入并出现此错误:

在未引用字段中看到的换行符 - 您是否需要以通用换行模式打开文件?

import csv

class CSV:


    def __init__(self, file=None):
        self.file = file

    def read_file(self):
        data = []
        file_read = csv.reader(self.file)
        for row in file_read:
            data.append(row)
        return data

    def get_row_count(self):
        return len(self.read_file())

    def get_column_count(self):
        new_data = self.read_file()
        return len(new_data[0])

    def get_data(self, rows=1):
        data = self.read_file()

        return data[:rows]
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

def upload_configurator(request, id=None):
    """
    A view that allows the user to configurator the uploaded CSV.
    """
    upload = Upload.objects.get(id=id)
    csvobject = CSV(upload.filepath)

    upload.num_records = csvobject.get_row_count()
    upload.num_columns = csvobject.get_column_count()
    upload.save()

    form = …
Run Code Online (Sandbox Code Playgroud)

python csv django

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

计算CSV Python中有多少行?

我正在使用python(Django Framework)来读取CSV文件.如您所见,我只从这个CSV中拉出2行.我一直想做的是在变量中存储CSV的总行数.

如何获得总行数?

file = object.myfilePath
fileObject = csv.reader(file)
for i in range(2):
    data.append(fileObject.next()) 
Run Code Online (Sandbox Code Playgroud)

我试过了:

len(fileObject)
fileObject.length
Run Code Online (Sandbox Code Playgroud)

python csv count

89
推荐指数
7
解决办法
17万
查看次数

jquery更改表单提交的URL

我想更改表单在点击时提交的网址,如下所示.以下是我的尝试,但它不起作用.

<form action="" method="post" class="form-horizontal" id="contactsForm" enctype="multipart/form-data">
  <div class="widget-content">

    <div class="btn-group">
      <button data-toggle="dropdown" class="btn dropdown-toggle">  &nbsp;
        <span class="icon-folder-open icon-large"></span>
        Move To <span class="caret"></span>
      </button>
      <ul class="dropdown-menu">
        {% for x,y in actionsForm.fields.move_to.choices %}
        <li><a class="move_to" id="{{ x }}" href="#">{{ y }}</a></li>
        {% endfor %}

<script>
    $(document).ready(function() {
        $(".move_to").on("click", function () {
            $('#contactsFrom').attr('action', "/test1");
            $("#contactsFrom").submit();
            e.preventDefault();
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

jquery

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

基于Django类的创建和更新视图

假设我想创建一个基于类的视图,它既可以更新可以创建一个对象.根据我之前提出的问题,我可以做以下事情之一:

1)使用2周通用的观点CreateViewUpdateView我认为将意味着有两个网址指向两个不同的类.

2)使用继承base的基于类的视图View,我认为这意味着有两个URL指向只有1个类(我创建了哪个继承View).

我有两个问题:

a)哪个更好?

b)ccbv.co.uk显示了一个基础View,但我没有看到记录的任何get,post等方法,这是正确的吗?

django django-models django-views django-class-based-views

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

Django bulk_create函数示例

我试图理解Django中的bulk_create

这是我想要转换的原始查询:

for e in q:
    msg = Message.objects.create(
        recipient_number=e.mobile,
        content=batch.content,
        sender=e.contact_owner,
        billee=batch.user,
        sender_name=batch.sender_name
    )
Run Code Online (Sandbox Code Playgroud)

这是否意味着执行以下操作(下面)将循环并首先创建所有条目然后命中数据库?这是正确的吗?

msg = Message.objects.bulk_create({
    Message (
        recipient_number=e.mobile,
        content=batch.content,
        sender=e.contact_owner,
        billee=batch.user,
        sender_name=batch.sender_name
    ),
})
Run Code Online (Sandbox Code Playgroud)

python django django-models

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

Django'ascii'编解码器不能编码字符

在Django中,我想使用一个简单的模板标签来截断数据.

这是我到目前为止:

@register.filter(name='truncate_simple')
def truncate_char_to_space(value, arg):
    """
    Truncates a string after a given length.
    """
    data = str(value)
    if len(value) < arg:
        return data

    if data.find(' ', arg, arg+5) == -1:
        return data[:arg] + '...'
    else:
        return data[:arg] + data[arg:data.find(' ', arg)] + '...'
Run Code Online (Sandbox Code Playgroud)

但是当我使用它时,我收到以下错误:

{{ item.content|truncate_simple:5  }}
Run Code Online (Sandbox Code Playgroud)

错误:

'ascii'编解码器无法对位置84中的字符u'\ u2013'进行编码:序数不在范围内(128)

错误在线启动 data = str(value)

为什么?

django django-templates

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

Django多对多的通用关系

我想我需要创建一个"多对多的通用关系".

我有两种类型的参与者:

class MemberParticipant(AbstractParticipant):
    class Meta:
        app_label = 'participants'


class FriendParticipant(AbstractParticipant):
    """
    Abstract participant common information shared for all rewards.
    """
    pass
Run Code Online (Sandbox Code Playgroud)

这些参与者可以获得2种不同类型的1种或多种奖励(奖励模式来自另一个应用程序):

class SingleVoucherReward(AbstractReward):
    """
    Single-use coupons are coupon codes that can only be used once
    """
    pass

class MultiVoucherReward(AbstractReward):
    """
    A multi-use coupon code is a coupon code that can be used unlimited times.
    """
Run Code Online (Sandbox Code Playgroud)

所以现在我需要将这些全部联系起来.这就是我想要创建关系(见下文)的方法,你看到的任何问题?

建议的链接模型如下:

class ParticipantReward(models.Model):


    participant_content_type = models.ForeignKey(ContentType, editable=False,
                                                        related_name='%(app_label)s_%(class)s_as_participant',
                                                        )
    participant_object_id = models.PositiveIntegerField()
    participant = generic.GenericForeignKey('participant_content_type', 'participant_object_id')


    reward_content_type = models.ForeignKey(ContentType, editable=False,
                                                        related_name='%(app_label)s_%(class)s_as_reward',
                                                        ) …
Run Code Online (Sandbox Code Playgroud)

python django django-models

12
推荐指数
2
解决办法
4779
查看次数

Django Nose怎么写这个测试?

我对Django的测试完全不熟悉.我已经开始安装鼻子,现在我想测试下面的代码(下面)它发送一条短信.

这是实际的代码:

views.py

@login_required
def process_all(request):
    """
    I process the sending for a single or bulk message(s) to a group or single contact.
    :param request:
    """
    #If we had a POST then get the request post values.
    if request.method == 'POST':
        batches = Batch.objects.for_user_pending(request.user)
        for batch in batches:
            ProcessRequests.delay(batch)
            batch.complete_update()

    return HttpResponseRedirect('/reports/messages/')
Run Code Online (Sandbox Code Playgroud)

那么我从哪里开始呢?这就是我到目前为止所做的......

1)创建了一个名为tests的文件夹并添加了init .py.

2)创建了一个名为test_views.py的新python文件(我假设这是正确的).

现在,我该如何编写此测试?

有人能给我看一个如何为上面的视图编写测试的例子吗?

谢谢 :)

python testing django unit-testing nose

7
推荐指数
1
解决办法
3342
查看次数

Django测试:DatabaseCreation'对象没有属性'_rollback_works'

我已经编写了一个示例测试,我试图在不创建新数据库的情况下运行它.

我第一次运行测试时一切正常(由于构建数据库需要一段时间):

> REUSE_DB=1 python manage.py test contacts
Ran 1 test in 0.251s
Run Code Online (Sandbox Code Playgroud)

我第二次收到以下错误:

> REUSE_DB=1 python manage.py test contacts
nosetests --verbosity 1 contacts
AttributeError: 'DatabaseCreation' object has no attribute '_rollback_works'
Run Code Online (Sandbox Code Playgroud)

为什么以及如何解决?谢谢.

我的测试:

class ExampleTestCase(TestCase):

def test_contact_page(self):
    resp = self.client.get('/contact/single/')
    self.assertEqual(resp.status_code, 200)
Run Code Online (Sandbox Code Playgroud)

Settings.py

DEBUG = True
TEMPLATE_DEBUG = DEBUG

INSTALLED_APPS += (
    'django_nose',
)

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
Run Code Online (Sandbox Code Playgroud)

django django-testing

7
推荐指数
1
解决办法
786
查看次数

django对象不能使用serializers.serialize进行迭代

我收到以下错误,

模板'对象不可迭代

def get_AJAX(request, id):
    data = serializers.serialize("json", Template.objects.get(pk=id))
    return HttpResponse(data)
Run Code Online (Sandbox Code Playgroud)

但是,我正在使用,'get'所以我不明白为什么我会收到此错误.有任何想法吗?

django

6
推荐指数
1
解决办法
8916
查看次数