这是我的models.py:
class Blog(models.Model):
blogPost = models.CharField(max_length=200)
Run Code Online (Sandbox Code Playgroud)
这是我的forms.py:
class BlogForm(forms.ModelForm):
class Meta:
model = Blog
fields = ['blopPost']
widgets = { 'blogPost' : forms.Textarea(attrs={'rows':5, 'cols':90}) }
Run Code Online (Sandbox Code Playgroud)
目前,用户可以在文本框中输入他想要的任意数量的字符,并且他将仅在用户提交文本后收到错误消息.我想要它,以便用户只能输入200个字符,当他达到200个字符时,文本框不允许用户键入任何其他内容(甚至在他提交之前).我该怎么做呢?
我看到所有这些帖子都在谈论“如何限制 Django 的图像字段仅接受某些文件类型”,但我还没有找到 Django 图像字段默认支持/不支持的所有文件类型的列表。
是否有 Django 的图像字段默认支持/不支持的文件类型列表?或者 Django 的 imagefield 是否允许提交任何文件类型?
(django 会允许用户在图像字段中上传 .pdf、.psd、.doc 等文件还是会引发错误?)
这是我的 python 代码(我使用的是 Python 2.7.6):
row_of_words = ['word 1', 'word 2']
hw = ['h1', 'h2']
TD = {}
TD = TD.fromkeys(hw, [])
# TD is now {'h1': [], 'h2': []}
for index in range(len(row_of_words)):
# This loops twice and in the first loop, index = 0 and in the second
# loop, index = 1
# Append 1 to the value of 'h1' (which is a list [])
# The value for 'h1' should now be [1].
# This loops …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用django提供的通用登录视图,这是我的urls.py:
url(r'^login/$', django.contrib.auth.views.login),
Run Code Online (Sandbox Code Playgroud)
当我运行服务器并转到
127.0.0.1
Run Code Online (Sandbox Code Playgroud)
它给了我一个
NameError at /
Run Code Online (Sandbox Code Playgroud)
话
name 'django' is not defined
Run Code Online (Sandbox Code Playgroud)
当我删除'django'并将其留在
contrib.auth.views.login
Run Code Online (Sandbox Code Playgroud)
它给了一个
NameError at /
Run Code Online (Sandbox Code Playgroud)
话
name 'contrib' is not defined
Run Code Online (Sandbox Code Playgroud)
任何想法为什么以及如何解决这个问题?
django django-urls django-generic-views nameerror django-login
这是我的HTML:
<div id="Header">
<div id="logoContainer">
<p id="welcome">Welcome</p>
<h1 class="logoText">first<img id="logoImage" src="image.jpeg" /><span id="second">second</span></h1>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的CSS:
#Header {
font-family: consola;
width: 100%;
height: 50px;
background-color: black;
color: white;
}
#logoContainer {
height: 50px;
width: 200px;
background-color: red;
}
#welcome {
font-weight: 500;
font-size: 8px;
margin-bottom: -6px;
}
#logoImage {
width: 14px;
vertical-align: -4px;
padding-left: 5px;
padding-right: 5px;
}
.logoText {
font-size: 12px;
font-weight: 500;
}
#second {
font-weight: 500;
}
Run Code Online (Sandbox Code Playgroud)
现在,当我改变
#logoContainer
Run Code Online (Sandbox Code Playgroud)
至
#logoContainer {
height: 50px;
width: 200px;
background-color: …
Run Code Online (Sandbox Code Playgroud) 当用户通过JSON用户对象向后端提交表单时,这是处理它的视图:
class user_list(APIView):
"""
Create a new user.
"""
def post(self, request):
serializer = UserSerializer(data=request.DATA)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果用户没有填写表单中的某个字段,DRF发送给前端的错误消息是"此字段是必需的".有没有办法让我更改它,以便对于所有字段,错误消息是"{fieldname}是必需的."?
这是我的serializers.py:
from rest_framework import serializers
from django.contrib.auth.models import User
from CMSApp.mixins import SetCustomErrorMessagesMixin
from django.utils.translation import gettext as _
from rest_framework.validators import UniqueValidator
from django.core.validators import RegexValidator
class UserSerializer(SetCustomErrorMessagesMixin, serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'password', 'email', 'userextended')
extra_kwargs = {
'password': {
'write_only': True,
}
}
custom_error_messages_for_validators = {
'username': { …
Run Code Online (Sandbox Code Playgroud) 我看过它谈论了很多,但是当我用谷歌搜索含义时,我找不到它。什么是祖先?
我猜分支X的祖先是该分支的任何父母,祖父母,祖父母等等?
那么,如果分支x从主分支,分支y从x分支,分支z从y分支,那么z的祖先是y,x和master?只是猜测一下。
我正在尝试filter
使用foldr
。我有一个解决方案,但不知道为什么我的版本不起作用。
foldr
像这样工作:
>>>foldr op z (xs:x)
x op z
Run Code Online (Sandbox Code Playgroud)
然后重复,对吗?当x是列表中的最后一个元素时。
我现在有
myFilter pred = foldr op z
where
z = []
op x xs = if pred x then x
Run Code Online (Sandbox Code Playgroud)
这不起作用,给出parse error (possibly incorrect indentation or mismatched brackets)
错误。
操作只是给x
到pred
,如果是true
,退货x
,否则跳过它。foldr
起作用的方式是,它不断在xs
传递的列表上循环。那我为什么要做
op x xs = if pred x then x : xs else xs
Run Code Online (Sandbox Code Playgroud)
并告诉它继续进行,xs
即使foldr
已经进行了?
我试图了解在学习Haskell时给我的类型定义。
首先,这:
fmap_List :: (a -> b) -> [] a -> [] b
fmap_list f [] = [] --1
fmap_list f (x:xs) = f x : fmap_List f xs --2
Run Code Online (Sandbox Code Playgroud)
对于1
,f []
是(a -> b)
吧?然后= []
是[] a
。什么[] b
啊
对于2
,f (x:xs)
是(a -> b)
。而且= f x
是[] a
和: fmap_List f xs
是[] b
吧?
现在,给出Maybe
:
data Maybe a …
Run Code Online (Sandbox Code Playgroud) foldr的定义是(根据https://hackage.haskell.org/package/base-4.12.0.0/docs/src/GHC.Base.html#local-6989586621679020249)
foldr :: (a -> b -> b) -> b -> [a] -> b
Run Code Online (Sandbox Code Playgroud)
这意味着第一个参数是类型(a -> b -> b)
,第二个b
,第三个参数[a]
返回b
。
如果我们看一个例子:
foldr (-) 54 [10, 11]
Run Code Online (Sandbox Code Playgroud)
是否不-
接受两个相同类型的对象,并返回相同类型的对象?那不是(a -> a -> a)
吗?
django ×4
haskell ×3
css ×1
dictionary ×1
django-forms ×1
django-login ×1
django-urls ×1
file-type ×1
fold ×1
git ×1
html ×1
margin ×1
nameerror ×1
python ×1
textbox ×1