如何在Django中检测用户!我看到大多数人使用外键,但我不希望外键我想检测没有外键的用户我想检测哪个用户填写此表格,例如测试或其他内容
这是我的views.py
def buy_form(request):
if request.method == 'POST':
usr_buy = user_buy_form(request.POST)
if usr_buy.is_valid():
usr_buys = usr_buy.save(commit=False)
usr_buys.save()
else:
return print(usr_buy.errors)
else:
usr_buy = user_buy_form()
context = {'usr_buy':usr_buy}
return render(request,'user_buy.html',context)
这是我的models.py
class user_register_model(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
join_date = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.user.username
class user_buy(models.Model):
users = models.ForeignKey(user_register_model,on_delete=models.CASCADE)
title = models.CharField(max_length=200)
payment_method = models.CharField(max_length=500)
price = models.IntegerField()
Trade_limits = models.IntegerField()
Location = models.CharField(max_length=1000)
def __str__(self):
return self.users.user.username
这是我的urls.py
urlpatterns = [
path('',views.Buy_List_View.as_view(),name='index'),path('accounts/signup/',views.user_reg,name='register'),path('profile/<username>',views.user_profile,name='user_profile'),path('sell_btc/',views.buy_form,name='buy_form')
]
这是我的user_buy.html
{% extends 'base.html' %}
{% block body_block %}
<form class="form-control" method="POST">
{{usr_buy.as_p}}
</form>
{% endblock %}
这是我的forms.py
class user_buy_form(forms.ModelForm):
class Meta():
model = user_buy
fields = '__all__'