1.在settings.py里设置数据库连接方式。连接错误后面都没有办法
2.在models设置一个数据库表的对应数据结构,通常叫关系对象模型,所以叫model,它就是一个类。你可以用django-admin.py ...probe,似乎是这个命令,就是一个数据库的探测命令,可以根据表,自动生成model的代码。当然如果你先写了model的代码就可以用syncdb命令生成数据库的表
3.在urls.py里设置一个URL的path,当浏览器访问这个path时就可以打开对应的view中的函数
4.在view里
4.1 result=modelclass.objects.all()这个命令可以取出所有的记录
4.2 然后你可以直接将结果传递给模板。由模板显示。这是最合理的办法
4.3 在模板里 {% for cols in result %}
4.4 <li>cols.field1</li>
大约就是这样子。可能说的太粗。你对着教程看就知道了。
首先,在views中需要判断你的form合不合法(不合法请查看InputForm与输入的是否符合),可以在if form.is_valid():并列的地方添加一个else,print form看看,可以类似form.company.errors.其实如果合法要存到数据库中,你的model方法有问题,一般是add_input=Input(xx=xx,xx=xx)add_input.save()
或者Input.objects.create(xx=xx=,xx=xx)#并不需要赋值,和调用save()方法,因为create内部有调用save方法
如果你使用 Django 的模型表单 (model form) 生成表单,可以使用 Django 查询数据库进行筛选,以便仅显示与特定用户相关的分类。首先,在视图函数中,查询数据库并返回与特定用户相关的分类:
from django.shortcuts import render
from .models import Category
def my_view(request):
user_categories = Category.objects.filter(user=request.user)
return render(request, 'my_template.html', {'categories': user_categories})
然后,在模板中,您可以在生成表单时使用该分类集:
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit">
</form>
最后,在表单类中,您可以重写初始化方法,以仅使用用户分类:
from django import forms
from .models import Table2
class Table2Form(forms.ModelForm):
class Meta:
model = Table2
fields = ('category',)
def __init__(self, user, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['category'].queryset = Category.objects.filter(user=user)
最后,在视图函数中实例化表单,并将用户传递给表单类:
from django.shortcuts import render
from .forms import Table2Form
def my_view(request):
user_categories = Category.objects.filter(user=request.user)
form = Table2Form(request.user, instance=table2_instance)
return render(request, 'my_template.html', {'form': form})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)