我现在正在学习DRF,对此many = True代码有些困惑。它有什么作用?还是什么意思?
例子1
class AlbumSerializer(serializers.ModelSerializer):
tracks = serializers.RelatedField(many=True)
class Meta:
model = Album
fields = ('album_name', 'artist', 'tracks')
Run Code Online (Sandbox Code Playgroud)
例子2
class UserList(generics.ListCreateAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
permission_classes = (IsAdminUser,)
def list(self, request):
# Note the use of `get_queryset()` instead of `self.queryset`
queryset = self.get_queryset()
serializer = UserSerializer(queryset, many=True)
return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud) 我是 Django 测试的新手,所以尝试了基本的测试代码。但它在第二个测试类中显示一个错误
测试文件
from django.test import TestCase,Client
from .views import PostList
from django.urls import resolve
class SmokeTest2(TestCase):
def test_math(self):
self.assertEqual(1+1,2)
class HomePageTest(TestCase):
def test_root_url_resolves_to_home_page_view(self):
found = resolve('/')
print({'found':found})
self.assertEqual(found.func(), PostList)
Run Code Online (Sandbox Code Playgroud)
视图.py
class PostList(ListView):
model = Post
template_name = 'home.html'
Run Code Online (Sandbox Code Playgroud)
网址.py
urlpatterns = [
path('',views.PostList.as_view(),name ='list'),
]
Run Code Online (Sandbox Code Playgroud)
当我打印found它显示 o/p
{'found': ResolverMatch(func=blog.views.PostList, args=(), kwargs={}, url_name=list, app_names=[], namespaces=[])}
Run Code Online (Sandbox Code Playgroud)
但我仍然收到此错误
(blog_env) PS D:\django\blog_env\mysite> python manage.py test
D:\django\blog_env\mysite
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
{'found': …Run Code Online (Sandbox Code Playgroud) 我想制作一个像这样的注册表,用户可以在其中输入用户名,电子邮件,密码,确认密码并检查条款和条件框以进行注册。但我不知道如何为复选框创建模型行,以便根据其输入我将允许或禁止用户注册。
模型.py
class registeration(models.Model):
username = models.CharField(max_length=100)
email = models.EmailField()
password = models.CharField(max_length=100)
confirm_pasword = models.CharField(max_length=100)
def __str__(self):
return self.username
Run Code Online (Sandbox Code Playgroud) 我正在使用一个 Excel 工作表,它总共有 999 行,其中 20 行是数据填充行,其他行是空的。
所以当我打印 max_rows 时,它给了我 999 个数字,而不是 20 个数字!我正在关注本教程 - openpyxl 教程
wb = openpyxl.load_workbook(path)
s = wb.active
print(s.max_row)
Run Code Online (Sandbox Code Playgroud) def resume_edit(request, r_id):
r = Resume.get.object(pk=r_id)
resume = ResumeModelForm(instance=r)
resume.fields['email'].widget.attrs['readonly'] = True
return render(request, 'resumes/resume.html', context)
Run Code Online (Sandbox Code Playgroud)
我试图这样做但它不起作用,我知道如何在 Forms.py 中做到这一点,但我想知道它可能与否?
我使用 Django 2.0
class ApiLoginView(TemplateView):
template_name = 'index.html'
def post(self,request):
email = request.POST.get('Email')
password = request.POST.get('Password')
print(email)
print(password)
API_KEY = GetAPIkey().api_key_token()
API_URL = GetAPIurl().api_url_token()
parameter = {
'authToken':API_KEY,
'email':email,
'password':password,
}
url = '{}{}'.format(API_URL,'/rest/storeLogin')
r = requests.post(url = url, params=parameter)
print(r.url)
print(request.user)
return HttpResponse(r)
Run Code Online (Sandbox Code Playgroud)
我正在尝试从request.POST方法获取数据,但每次打印电子邮件和密码时它都会向我发送NONE值.我哪里错了?我在做ajax通话错了吗?当我使用表单submi进行ajax调用它工作正常但现在我使用按钮单击进行ajax调用.
<form class="my-login-form" id="sanjh_login_form" method="post" url="/login">
{% csrf_token %}
<div id="login-data"></div>
<div class="field-wrap">
<input id='id_login-email' type="email" name="Email" required autocomplete="off" placeholder="Email Id">
</div>
<div class="field-wrap">
<input id='id_login-password' type="password" name="Password" required autocomplete="off" placeholder="Password">
</div>
<button id="login-btn" type="button" class="button button-block" >Login</button>
<div …Run Code Online (Sandbox Code Playgroud)