【问题标题】:how to get id of an object from url of page django如何从页面 django 的 url 获取对象的 id
【发布时间】:2021-02-12 17:23:22
【问题描述】:

我创建了一个列表,其中显示了当您单击它重定向到具有组 ID 的另一个页面时存在的所有组的名称,当我创建一个帖子时,我需要指定它是哪个组,我正在获取 id页面的 url,但我不知道如何使用该 url 定义组对象,

观看次数

def create(request):
if request.method == "POST":
    name = request.user
    author = request.user
    message = request.POST['message']
    message = comments(user=author,message=message,name=name,group_id=2)
    message.save()
    return HttpResponse('')

代替 group_id=2 或硬编码,我可以像在 request.user 中那样自动从页面的 url 获取 id

模型

class group(models.Model):
    group_name = models.CharField(max_length=100)
    group_user = models.ForeignKey(User,on_delete=models.CASCADE)

def __str__(self):
    return f'{self.id} group'



class comments(models.Model):
    userId = models.AutoField(primary_key=True)
    name = models.CharField(max_length=100)
    group = models.ForeignKey(group,on_delete=models.CASCADE,null=True)
    user = models.ForeignKey(User,on_delete=models.CASCADE)
    message = models.TextField()
    date = models.TimeField(auto_now_add=True)

def __str__(self):
    return f'{self.user} comments'

我日日夜夜都在尝试解决不了,请所有天才程序员给我一个解决方案

【问题讨论】:

    标签: django django-models django-views


    【解决方案1】:

    urls.py

    urlpatterns = [
        path('create/<int:group_id>', views.create)
    ]
    

    views.py

    def create(request, group_id):
    if request.method == "POST":
        name = request.user
        author = request.user
        message = request.POST['message']
        message = comments(user=author,message=message,name=name,group_id=group_id)
        message.save()
        return HttpResponse('')
    

    例如,如果您在 localhost 上运行应用程序,则转到 localhost:8000/create/1 将使 group_id = 1,转到 localhost:8000/create/2 将使 group_id = 2 等等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-22
      • 2012-05-06
      • 2013-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-07
      • 2013-05-28
      相关资源
      最近更新 更多