如何从 Django 视图中的锚标记获取特定用户的值?
How to get the value for the particular user from the anchor tag in django view?
urls.py
urlpatterns = [
path('vendors/', views.loomerang_admin_vendors, name="loomerang_admin_vendors"),
path('vendor_profile/<str:userid>', views.loomerang_admin_vendor_profile, name="loomerang_admin_vendor_profile"),
]
模板
{% for vendor in vendors %}
<tr>
<th scope="row">{{vendor.id}}</th>
<td>{{vendor.date_joined|date:"d-m-Y"}}</td>
<td name="vendor_id"><a href="{% url 'loomgerang_admin:loom_admin_vendor_profile' userid %}">{{vendor.userid}}</a></td>
<td>{{vendor.first_name}}</td>
<td>{{vendor.status}}</td>
<td>20-12-2021</td>
<td>Lokesh</td>
</tr>
{% endfor %}
views.py
def loomerang_admin_vendor_profile(request, userid):
print(request.user.userid)
vendor_name = request.POST.get("vendor_id")
basic_details = CustomUser.objects.filter(id=request.user.id)
store_details = basic_details[0].vendor_details.all()
print(store_details)
return render(request, 'loom_admin/vendor_profile.html', {'basic_details':basic_details, 'store_details':store_details})
models.py
class CustomUser(AbstractUser):
username = None
email = models.EmailField(_('email address'), unique=True)
mobile_number = models.IntegerField(blank=False, null=True)
first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = []
customer = models.BooleanField(default=False, editable=False)
vendor = models.BooleanField(default=False, editable=False)
id = models.AutoField(primary_key=True, editable=True)
userid = models.CharField(max_length=100, unique=True, null=True)
approved_by = models.ForeignKey('self', on_delete=models.CASCADE, null=True, blank=True)
approved_date = models.DateField(null=True, blank=True)
status = models.CharField(max_length=10,choices=STATUS_CHOICES,default="Waiting")
objects = UserManager()
def __str__(self):
return str(self.userid)
我已将用户的所有详细信息显示为 table。如果我单击一行中的 Id,它会将我重定向到另一个页面并获取特定用户拥有的所有信息。我不知道该怎么做。拜托,期待答案。
你首先必须通过传递给请求的参数 userid 进行过滤,然后你通过模板中的 forloop 获得 id,比如 vendor.userid,我不知道你试图通过获取vendor_name = request.POST.get("vendor_id"),你有不同型号的供应商吗?
def loomerang_admin_vendor_profile(request, userid):
print(request.user.userid)
vendor_name = request.POST.get("vendor_id")
basic_details = CustomUser.objects.filter(id=userid)
store_details = basic_details[0].vendor_details.all()
print(store_details)
return render(request, 'loom_admin/vendor_profile.html', {'basic_details':basic_details, 'store_details':store_details})
{% for vendor in vendors %}
<tr>
<th scope="row">{{vendor.id}}</th>
<td>{{vendor.date_joined|date:"d-m-Y"}}</td>
<td name="vendor_id"><a href="{% url 'loomgerang_admin:loom_admin_vendor_profile' vendor.userid %}">{{vendor.userid}}</a></td>
<td>{{vendor.first_name}}</td>
<td>{{vendor.status}}</td>
<td>20-12-2021</td>
<td>Lokesh</td>
</tr>
{% endfor %}
urls.py
urlpatterns = [
path('vendors/', views.loomerang_admin_vendors, name="loomerang_admin_vendors"),
path('vendor_profile/<str:userid>', views.loomerang_admin_vendor_profile, name="loomerang_admin_vendor_profile"),
]
模板
{% for vendor in vendors %}
<tr>
<th scope="row">{{vendor.id}}</th>
<td>{{vendor.date_joined|date:"d-m-Y"}}</td>
<td name="vendor_id"><a href="{% url 'loomgerang_admin:loom_admin_vendor_profile' userid %}">{{vendor.userid}}</a></td>
<td>{{vendor.first_name}}</td>
<td>{{vendor.status}}</td>
<td>20-12-2021</td>
<td>Lokesh</td>
</tr>
{% endfor %}
views.py
def loomerang_admin_vendor_profile(request, userid):
print(request.user.userid)
vendor_name = request.POST.get("vendor_id")
basic_details = CustomUser.objects.filter(id=request.user.id)
store_details = basic_details[0].vendor_details.all()
print(store_details)
return render(request, 'loom_admin/vendor_profile.html', {'basic_details':basic_details, 'store_details':store_details})
models.py
class CustomUser(AbstractUser):
username = None
email = models.EmailField(_('email address'), unique=True)
mobile_number = models.IntegerField(blank=False, null=True)
first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = []
customer = models.BooleanField(default=False, editable=False)
vendor = models.BooleanField(default=False, editable=False)
id = models.AutoField(primary_key=True, editable=True)
userid = models.CharField(max_length=100, unique=True, null=True)
approved_by = models.ForeignKey('self', on_delete=models.CASCADE, null=True, blank=True)
approved_date = models.DateField(null=True, blank=True)
status = models.CharField(max_length=10,choices=STATUS_CHOICES,default="Waiting")
objects = UserManager()
def __str__(self):
return str(self.userid)
我已将用户的所有详细信息显示为 table。如果我单击一行中的 Id,它会将我重定向到另一个页面并获取特定用户拥有的所有信息。我不知道该怎么做。拜托,期待答案。
你首先必须通过传递给请求的参数 userid 进行过滤,然后你通过模板中的 forloop 获得 id,比如 vendor.userid,我不知道你试图通过获取vendor_name = request.POST.get("vendor_id"),你有不同型号的供应商吗?
def loomerang_admin_vendor_profile(request, userid):
print(request.user.userid)
vendor_name = request.POST.get("vendor_id")
basic_details = CustomUser.objects.filter(id=userid)
store_details = basic_details[0].vendor_details.all()
print(store_details)
return render(request, 'loom_admin/vendor_profile.html', {'basic_details':basic_details, 'store_details':store_details})
{% for vendor in vendors %}
<tr>
<th scope="row">{{vendor.id}}</th>
<td>{{vendor.date_joined|date:"d-m-Y"}}</td>
<td name="vendor_id"><a href="{% url 'loomgerang_admin:loom_admin_vendor_profile' vendor.userid %}">{{vendor.userid}}</a></td>
<td>{{vendor.first_name}}</td>
<td>{{vendor.status}}</td>
<td>20-12-2021</td>
<td>Lokesh</td>
</tr>
{% endfor %}