Django是 python 中一个web 框架,今天主要学习了他的 URL 部分
在使用之前你需要安装Django,使用 pip install django 就可以进行安装(然后将Django配置到环境变量中),然后选一个文件夹作为的工程目录,执行 django-admin startproject 工程名字 然后执行 cd 工程名字 ,进入工程目录,执行 django-admin startapp 应用名字 ,就可以在此工程目录下生成你的应用,此时,你的需要在应用的views.py中插入一下代码:
from django.http import HttpResponse
def index(req):
return HttpResponse("<h1>Hello World</h1>")
在工程目录下的urls.py中将 urlpatterns中的配置改成一下代码:
urlpatterns = [
url(r"^index/$",views.index)
]
这里注意将views模块导入你的urls模块中,不然是不对的。
接下来就是启动服务了,这里要先将工程的数据库生成 python manage.py migrate。当数据库生成以后执行 python manage.py runserver, 这样子你的服务就可以跑起来了。
接下来就是URL,这里先介绍他的参数,他的参数有四个,其中有两个是可选参数,两个是必填参数,看代码:
url(r"^index/",viwes.index)
url(r"^index/",viwes.index,name="bieming") url(r"^index/",viwes.index,{"foo":"bar"})
第一个参数是路由匹配路径,前面的 r 代表后面的字符串不用转译。第二个参数是你的逻辑处理函数。
第三个参数是可选的name = “bieming” 或者是一个字典{“foo”:"bar"}
别名的用法是下面这样子的:<form action="{% url 'bieming' %}" method="post"> 用户名:<input type="text" name="username"> 密码:<input type="password" name="password"> <input type="submit" value="submit"> </form>
当你的模板页面需要引用那个路由时可以这样子使用它的别名
def index(req,foo): pass
如果是传字典,则你的处理函数必须有一个参数跟其键名一致
url分发:
url(r'^blog/', include('blog.urls'))
这样子就可以将二级路由分发到每个应用之中。(这里注意,在引views时注意引用路径)接下来是路由规则:
urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003),
url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive), url(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$', views.month_archive), url(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/$', views.article_detail),] 这里展示的就是路由规则,这里参数如果是第二种路径方式,那么只要在路径处理逻辑函数中使用任意名字的参数接收就好,如果是下面的有名字的参数,则要按照名字在处理函数中接受url(r'^articles/([0-9]{4})/$', views.year_archive),