@login_required
@permission_required('accounts.add_project',raise_exception=True)
def project_add(request):
if request.method == "POST":
form = ProjectForm(request.POST)
print(form)
if form.is_valid():
form.save()
else:
form = ProjectForm()
return HttpResponseRedirect(reverse('project_list'))
以上代码段中有几个关键函数,post传递参数,然后保存到数据库中
ProjectForm来组form数据,form.save()保存在数据库中
我们不需要组数据,我们需要的提取数据的信息
charField
Z:\dev\project\git\fms.xin.com\fms.xin.com\venv\lib\python3.6\site-packages\django\db\models\fields\__init__.py
django中对字段的设定,哪些是必填的,哪些是可以为空的
https://www.cnblogs.com/linxiyue/p/3662535.html
https://django-chinese-doc.readthedocs.io/zh_CN/latest/ref/models/fields.html
render和render_to_reponse区别
https://www.cnblogs.com/leonwen/p/5368239.html
==========启动django===============
python manager.py runserver --host 0.0.0.0 --port 9008
=====================
【request获取参数】
id = request.GET.get('id')
print(id)
【model层写逻辑】
----mysql update---
patient_edit = PatientInfo.objects.get(id=patient_id) # object to update
patient_edit.name = 'New name' # update name
patient_edit.save() # save object
==========django模板=================
(16)spaceless 使用形式:{% spaceless %} (内容) {% endspaceless %} 意义:删除包围内容中的所有tab或者回车字符。
(22)linebreaks 使用形式:{{value|linebreaks}} 意义:value中的"\n"将被<br/>替代,并且整个value使用</p>包围起来,从而适和HTML的格式
(23)linebreaksbr 使用形式:{{value |linebreaksbr}} 意义:value中的"\n"将被<br/>替代
===关闭了Django的自动转义===
我们还可以通过{%autoescape off%}的方式关闭整段代码的自动转义,比如下面这样:
{% autoescape off %}
Hello {{ name }}
{% endautoescape %}
======django db操作======
db = Project(project_id=1, content_id=1)
db.save()
#return
db = Project.objects.filter(project_id=1)
db.delete()
return
https://my.oschina.net/esdn/blog/803135
=====python文件操作======
http://www.runoob.com/python/python-files-io.html