小编Ale*_*art的帖子

CRC-CCITT 16位Python手动计算

问题

我正在为嵌入式设备编写代码.CRC-CCITT 16位计算的许多解决方案都需要库.

鉴于使用库几乎是不可能的并且耗尽其资源,需要一个函数.

可能解决方案

在线发现以下CRC计算.但是,它的实现是不正确的.

http://bytes.com/topic/python/insights/887357-python-check-crc-frame-crc-16-ccitt

def checkCRC(message):
    #CRC-16-CITT poly, the CRC sheme used by ymodem protocol
    poly = 0x11021
    #16bit operation register, initialized to zeros
    reg = 0xFFFF
    #pad the end of the message with the size of the poly
    message += '\x00\x00' 
    #for each bit in the message
    for byte in message:
        mask = 0x80
        while(mask > 0):
            #left shift by one
            reg<<=1
            #input the next bit from the message into the right hand side of the …
Run Code Online (Sandbox Code Playgroud)

python crc python-2.7 crc16

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

“User”对象没有属性“get”

我试图ModelForm这里构建一个解决方案,但是我收到此错误:

'User' object has no attribute 'get'
Run Code Online (Sandbox Code Playgroud)

这个想法是构建ModelForm一个表单,提交时登录的用户会更新条目。

models.py 是:

class UserDetailsForm(ModelForm):
    class Meta:
        model = UserProfile
        fields = ['mobile_phone']

    def __init__(self, *args, **kwargs):
        self.request = kwargs.pop('request', None)
        return super(UserDetailsForm, self).__init__(*args, **kwargs)

    def save(self, *args, **kwargs):
        kwargs['commit']=False
        obj = super(UserDetailsForm, self)
        if self.request:
            obj.user = UserProfile.objects.get(user=self.request.user)
        obj.save()
Run Code Online (Sandbox Code Playgroud)

我在 models.py 中的模型是

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    mobile_phone = models.CharField(max_length=30,help_text='Max 30 characters.',blank=True)
    #have shortened this for simplicity
    def __unicode__(self):
        return self.mobile_phone
Run Code Online (Sandbox Code Playgroud)

根据这里的请求,我们从views.py 中回溯了问题:

    userprofile …
Run Code Online (Sandbox Code Playgroud)

python django

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

在未引用的字段中看到的新行字符

我有一个从Django表单加载到内存中的文件.它给了我以下错误:

new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
Run Code Online (Sandbox Code Playgroud)

另一种解决方案使用.

但是,我已经将文件存储在内存中,因此我需要将其更改为以"rU"格式打开.

这是我的相关代码 views.py

form = ResultsUploadForm(request.POST, request.FILES)
    if form.is_valid():
        form.save()
        reader = csv.reader(request.FILES['file'])
        for row in reader:
            #etc...
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?从此声明中抛出错误for row in reader:

python django

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

访问modelForm中的request.user

如果我使用模型表单,我的views.py看起来像:

def dog_image_upload(request):
    if request.user.is_authenticated():
        if request.method == 'POST':
            form = DogImageForm(request.POST, request.FILES)
            if form.is_valid():
                form.save()
        else:
            form = DogImageForm(user)
        return render_to_response("dog-image-upload.html", {'form': form}, context_instance=RequestContext(request))
    else:
        return HttpResponseRedirect('/')
Run Code Online (Sandbox Code Playgroud)

在model.py中,我想这样做:

class DogImageForm(ModelForm):
    dogs = forms.ModelChoiceField(queryset=Dog.objects.filter(user=request.user))
    class Meta:
        model = ResultsUpload
        fields = ['dogs','image']
Run Code Online (Sandbox Code Playgroud)

但是,我无法尝试将用户发送到model.py这方面的帮助将是非常棒的,值得点!

python django modelform

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

标签 统计

python ×4

django ×3

crc ×1

crc16 ×1

modelform ×1

python-2.7 ×1