django使用总结

来源:互联网 发布:淘宝联如何设置推广位 编辑:程序博客网 时间:2024/06/07 07:16

django是python中的一个神奇的web框架之一,各大网站论坛均有介绍,不再赘述。

我的学习路径:

1. 自强学堂django教程,跟着论坛一行一行往下走,虽然还是不是很明白很多代码的意思,这个过程我可以很直观的通过修改一些代码来看到效果。瓶颈在于论坛中简化的一些东西我在找到详细的文档之前,我永远不知道这是什么意思。

举例来说,在表单一节中,有一句< form action=...  > 教程中没有指出这是前端数据传递到后台的一个数据中,这个不会理解到。

2. 官方文档,论坛的文档可以让自己对django有个大概的了解,产生兴趣,能够做出网页出来。官方文档每一步非常详细,虽然很多时候也没有解释为什么会这么做,比如为什么要在模板文件夹中在创建一个项目名的文件夹,这个文件夹才是放模板的,后来在博客中才找到答案,这是为了避免模板先后关系的冲突。

以下是django项目的几个关键步骤。

1. 创建项目文件夹django-admin startproject projectname, 不能包含程序的关键字

2. 创建应用django-admin startapp app,不能有程序关键字

3. project中修改setting.py,加入app,可能后面加入静态文件等步骤需要经常修改此文件,

                         urls.py,引入include,以项目为结构设计url

格式:url(r'^app/$', include('app.urls', namespace="app"),

python正则表达式需要的话单独查阅资料,不再赘述。

4. 回到app文件中创建urls.py,注意和views中对应

格式:

from django.conf.urls import url

from . views import function

urlpatterns =[
     url(r'^/%', views.function, name="function"),
]
对应的views.py中写入function
格式
def function(request):
     return render(request, 'app/test.html', {'test': "test"})
render方法使用注意事项,request为必要参数,html需要注意路径,context写入可以在html调用,可以实现数据交换了。
5. model.py, admin.py, forms,
这个文件主要是后端数据使用,django后台非常强大,写入数据注意逻辑关系,forms可以直接创建forms.py,也可以在models.py写入。
最后在admin.py中创建类,后台数据即可在后台中体现。
值得一提的是sqllite3可以直接看到后台数据。
6. staticfiles,这个头疼过一阵子,引入静态文件主要是想用bootstrap美化前端,一开始是网上随便找了个博客学习怎样使用静态文件,把静态文件放到和settings同一级目录下,一直没法加载,后来直接把文件放到app中可以正常使用了。
后来网上找了个强大的bootstrap包,按照教程修改项目结构,最后卡在google字体没法加载。
以下说以下怎样直接引入bootstrap包。
网上下载的bootstrap包中包括asset包和index.html,在django的app中创建static文件包,把asset文件夹放入django项目的static中,创建templates/app文件夹,index.html放入这个文件夹中。修改html文件
要点如下
{% load staticfiles %}
凡是herf有引入静态文件的改成 href="{% static '......' %}"
views函数中写一个页面渲染函数。
加载,正常情况没有问题的,目前问题在于google字体没法加载。
原创粉丝点击