1、初阶(一)
一、安装
pip install django二、创建第一个django项目
在想要创建项目的目录下,按shift 右击空白处,打开命令窗口,
django-admin startproject Test文件Test中创建好的目录如下
|-- Test
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
`-- manage.py各个文件的说明
urls.py 网址入口,关联到对应的view.py中的一个函数或(或者generic类),访问网址就对应一个函数
view.py 处理用户发出的请求,从urls.py,通过渲染templates中的网页可以将内容显示,比如登录胡后的用户名,用户请求的数据,输出到网页
models.py 与数据库操作有关,存入或读取数据时用到这个
forms.py 表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作
admin.py 后台
settings.py 配置文件,比如debug的开关,静态文件的位置等三、创建一个应用(app)
1、新建一个名为learn的app
之后,会在Test项目下多出一个文件夹,名称是learn
然后修改Test文件夹中的settings.py文件
这一步的原因是django不能自动找到app中的模板文件(app-name/templates)和静态文件(app-name/static/中的文件)???
2、定义视图函数(访问页面时的内容)
修改views.py文件
参数request很重要,与网页发来的请求有关,包含get或post的内容,用户浏览器系统信息在里面。
3、定义视图函数相关的URL
用以规定访问什么网页返回什么内容,修改urls.py
上述步骤完成之后,执行以下命令
结果如下
如果打开http://127.0.0.1:8000/, 就可以看到
四、在网页上做加减法
1、采用/add/?a=4&b=5这样get方法进行
修改calc/views.py文件
request.GET 类似于一个字典,更好的办法是用 request.GET.get('a', 0) 当没有传递 a 的时候默认 a 为 0
接着修改zqxt_view/urls.py文件,添加一个网址来对应我们新建的视图函数。
打开服务器并访问,
结果如下
打开网页http://127.0.0.1:8002/add/,会看到一个复杂的网页
然后打开http://127.0.0.1:8002/add/?a=4&b=5,会得到计算的结果
2、采用/add/3/4的网址形式
修改calc/views/py 文件,定义一个新函数
然后在urls.py文件中添加一个新的url
接着打开网址http://127.0.0.1:8002/add/4/5/,就可以得到跟之前一样的结果
五、URL name详解
1、打开zqxt_views/urls.py
name='add' : name可以用于在templates,models,views...中得到对应的网址
2、添加calc_views.py
3、将‘calc’这个app加入到zqxt_views/setting.py中
4、在calc中新建一个templates文件夹,在templates中新建一个home.html,并写入内容
修改zaxt_views/urls.py
有时使用的规则是/add/4/5,后来需求发生变化,比如改成/4-add-5/(-代表'_',打不出来),但是在很多代码中都是根据/add/4/5,比如模板中写的是
为了避免修改一处而导致很多其他部分也要修改的情况,所以可以选择另外一些更好的方式,不过首先介绍如何将参数转换为url
reverse接收url中的name作为第一个参数,我们在代码中就可以通过 reverse() 来获取对应的网址(这个网址可以用来跳转,也可以用来计算相关页面的地址),只要对应的 url 的name不改,就不用改代码中的网址。
提取参数,做形式的转换?
在网页模板中
当修改urls.py 进行更改,前提是不改name,获取的网址也会动态的跟着变
path是寻找网址对应的功能,当网址发生变化时,只需要修改path中的佩佩字段即可,这样add2的调用仍会返回正确的结果;但是home.html中的不能理解,调用html明明是index函数,href部分的参数何时传入的?
比如说收藏的url是旧的,如何跳转到新的网页?需要我们写一个跳转方法
首先在views.py中增加一个跳转方法
修改urls.py
我觉得上面这一部分讲得并不清楚,暂时搁置
Last updated
Was this helpful?