-
大概的流程
- 接收数据
- OK!现在去看看关于django的get和post先.毕竟好像和php的不一样.!
- OK!现在看了,应该可以了.好.继续.
- 加密 1.
- 创建对象(有什么用?)
- 完成后转向
- 接收数据
-
然后这个django是MTV模型,所以说,按步骤走了
-
首先写好model的一些派生类,或者先写view也可以,这里我先写好model.
- 前提是,记得先在settings.py里面先注册刚刚创建的app,例如我这里是login_admin
- 然后是在settings.py记得设置数据库什么的.!
- 然后记得在settings.py里面设置加载模板的路径.注意,推荐使用os.path.join这样的模式来拼接路径.!
-
然后再刚刚新建的app下面新建urls.py.
- 在这个urls.py里面,首先添加这些代码
from django.conf.urls import url from django.urls import path from login_admin import views urlpatterns = [ path('x',views.xx) ]
-
然后就是修改项目里面的urls.py文件
- 在里面的urlpattern里面添加 path('xx',include('xx.urls'))
-
然后修改app中的views.py内容了
- 这里是定义视图里面的函数了,不用定义派生类.
- 一般性代码需要导入render,HttpResponse,Redirect
- 还有导入一下需要操作用到的model派生类.或者暴力一点可以直接from xx.models import *
-
然后是写一些关于models.py里面的一些派生类,这些每一个对应的派生类都是对应一个数据表的.!
- 记得就是写一个派生类的时候,记得都是继承(models.Model)
-
模板的话,其实可以写可以不写.
-
-
现在的新问题是,path如何写正则呢?
- 但是先看看这个例子
- 代码
urlpatterns = [ path('articles/2003/', views.special_case_2003), path('articles/<int:year>/', views.year_archive), path('articles/<int:year>/<int:month>/', views.month_archive), path('articles/<int:year>/<int:month>/<slug>/', views.article_detail), ]
- 代码
- 不难看出,这个是利用分隔符去接收了一部分的数据,比如用一个<>从url中捕获值.大概作者,觉得这种方式去匹配更加方便而且容易用把
- 捕获值中可以包含一个转化器类型(converter type),比如使用 int:name 捕获一个整数变量。若果没有转化器,将匹配任何字符串,当然也包括了 / 字符。
- 无需添加前导斜杠。
- 但是先看看这个例子
-
昨晚稍微尝试一下了templates,大概知道了可以直接在所在的app里面创建templates是直接可以使用的, 但是一般操作都是在根目录底下,直接固定在这个templates文件里面,然后按app形式命名结构,就可以了.!好,现在继续去尝试一下做一个登陆的样式先.
-
然后现在需要结合一下static和templates.
-
OK!templates还是统一管理的好吧,都可以,反正设置项也是很简单.
- 意思大概有两个使用templates的方式.
- 直接在对应的app目录下面直接创建templates
- 可以到settings.py指定一个统一使用的templates
- 'DIRS': [os.path.join(BASE_DIR,'templates')],
- 意思大概有两个使用templates的方式.
-
现在看看关于static的测试先.
-
第一种可行的方法就是指定一个统一的static(装静态文件的文件夹)的文件夹,
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"),]
模板调用的方式
<h2>我是一个神奇的存在</h2> <img src="/static/1.jpg" height="600" width="1000">
还可以改装成为
<h2>我是一个神奇的存在</h2> {% load static from staticfiles %} <img src="{% static "1.jpg" %}" height="600" width="1000" />
-
第二种是,直接在所有的app下面,直接新建static文件夹(一定要这个名字),然后模板里面, 需要先{% load static%} ,然后用的时候是 {% static "xxx.jpg" %},类似 1.
<h2>我是一个神奇的存在</h2> {% load static %} <img src="{% static "1.jpg" %}" height="600" width="1000">
-
-
现在测试一下get,post操作先.!
- OK!首先得说明一下与URL的区别,就是,URL的话,
- 首先在对应的app底下的urls.py添加接收参数,例如是 说明:可以直接格式化这个值,可以使用str,int,
path("index/<int:name>",views.xxx) ##这个index后面的值就转换为int类型,并且将这个转换后的值赋值给一个叫name的变量
- 然后,在view(控制器)那边,就是对应的处理方法,需要接收上面的值,def xx(request,name)
##然后这个后面必须一一对应好上面定义的变量了,例如上面接收一个新值并且赋值给name,所以这里控制器 ##接收的时候就需要代入相同的变量名!
- 如何获取URL的参数呢?
- 直接调用request.GET和request.POST就可以了!!
- OK!首先得说明一下与URL的区别,就是,URL的话,
headb / django_2.0_cms Goto Github PK
View Code? Open in Web Editor NEWcms for django2.0