Python 如何为测试注册用户?
你能帮我吗?我不太了解django ajax,我也是django的新手。我想将用户注册到模拟测试,所以我尝试使用以下代码。我无法意识到我的错误是什么。 model.pyPython 如何为测试注册用户?,python,django,Python,Django,你能帮我吗?我不太了解django ajax,我也是django的新手。我想将用户注册到模拟测试,所以我尝试使用以下代码。我无法意识到我的错误是什么。 model.py class MockTest(models.Model): name = models.CharField(max_length=100) slug = models.SlugField(unique=True) user = models.ForeignK
class MockTest(models.Model):
name = models.CharField(max_length=100)
slug = models.SlugField(unique=True)
user = models.ForeignKey(User, on_delete=models.CASCADE)
bio = models.TextField(null= True, blank=True)
is_free = models.BooleanField()
fee = models.DecimalField(max_digits=10, decimal_places=2)
time_created = models.DateTimeField(auto_now=False,auto_now_add=True)
time_start = models.DateField(auto_now=False, auto_now_add=False, default='')
speak_date = models.DateField(auto_now=False, auto_now_add=False, null=True, blank=True)
registerations = models.ManyToManyField(User, blank=True, null=True, related_name='registerations')
def save(self, *args, **kwargs): # new
if not self.slug:
self.slug = slugify(self.name)
return super().save(*args, **kwargs)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse("teacher:mock_view", kwargs={"slug": self.slug})
def total_registers(self):
return self.registerations.count()
def is_registered(self,request):
return self.registerations.filter(id=request.user.id).exists()
视图.py
def register(request):
if request.method == 'POST':
user = request.user
slug = request.POST.get('slug', None)
mock = get_object_or_404(MockTest, slug=slug)
if mock.registerations.filter(id=user.id).exists():
massage = "You are already registered"
else:
mock.registerations.add(user)
massage = "succes"
cxt = {'total_registers': mock.total_registers, 'massage':massage}
return HttpResponse(json.dumps(cxt), content_type='application/json')
path('register/', register, name='register')
url.py
def register(request):
if request.method == 'POST':
user = request.user
slug = request.POST.get('slug', None)
mock = get_object_or_404(MockTest, slug=slug)
if mock.registerations.filter(id=user.id).exists():
massage = "You are already registered"
else:
mock.registerations.add(user)
massage = "succes"
cxt = {'total_registers': mock.total_registers, 'massage':massage}
return HttpResponse(json.dumps(cxt), content_type='application/json')
path('register/', register, name='register')
html
<input type="button" id="register" class="" name="{{ mock.slug }}" value="Register" />
$('#register')。单击(函数(){
$.ajax({
类型:“POST”,
url:“{%url'学生:注册“%}”,
数据:{'slug':$(this.attr('name'),'csrfmiddlewaretoken':{{{csrf_token}}},
数据类型:“json”,
成功:功能(响应){
警报(response.message);
警报(“现在注册的人”+响应。注册总数);
},
错误:函数(rs,e){
警报(“失败”);
}
});
})
我想我需要jQuery和JSON,但我不确定如何在这里实现它,以便为我的站点创建自己的“注册”
有什么想法/建议吗 到底是什么问题?你看到错误了吗?是不是有些东西的行为和你预期的不一样,在这种情况下,请解释你看到的和你预期看到的。问题到底是什么?你看到错误了吗?是指某些行为与您预期不符的情况,在这种情况下,请解释您看到的内容以及您预期看到的内容。