标题可能没有说明我的问题,抱歉。
我有一个models.py
像这样:
class Baslik(models.Model):
user = models.ForeignKey(User, null=True, blank=True)
title = models.CharField(max_length=50)
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
updated = models.DateTimeField(auto_now_add=False, auto_now=True)
active = models.BooleanField(default=True)
我有一个将对象添加到 Baslik 模型的功能。我只要输入一个标题就可以了。
这是我的forms.py
:
class BaslikForm(ModelForm):
class Meta:
model = Baslik
fields = ('title',)
我的每个对象的网址如下:url(r'^(?P<title>.*)/$', 'tek', name = "tek_baslik")
我想在用户输入其 future 链接时创建一个新对象(如果尚未创建)。例如,当用户输入/baslik/stack
时我想立即创建一个“堆栈”对象并渲染其在 views.py
中定义的页面对于每个对象。
我怎样才能做到这一点。任何想法都会有所帮助。谢谢。
最佳答案
您可以采取以下方法:
1) 定义新的 url 结构:
url(r'^baslik/(?P<title>.*)/$', views.baslik_handle, name = "tek_baslik")
2)你不需要模型表单,你可以直接通过 View 来处理它。使用get_or_create在views.baslik_handle中。例如
def baslik_handle(request, title):
baslik, created = Baslik.objects.get_or_create(title=title)
关于python - Django 在输入链接时创建一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25290829/