python - Django 在输入链接时创建一个对象

标签 python django django-models django-forms

标题可能没有说明我的问题,抱歉。

我有一个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/

相关文章:

python - 如何使用 Python 中的循环比较不同脚本中不同大小的多个列表

python - 如何在 python 中获取打开文件的 win32 句柄?

python - Django channel 的持续数据流

python - django-filter:风格选择

Django:获取外键类型

django - 如何在基于类的 View 中过滤多对多查询?

mysql - Django distinct group by 查询两个字段

python - Django 信号文件,无法导入模型名称

python - 在 python 中向 csv 数据添加新行

django - `order_by`调用后Django Paginate中的重复元素