Django2.0学习笔记_1:创建项目,url与视图

学习阶段一(URL与视图)

创建项目

通过命令行的方式:首先进入虚拟环境,再执行命令:

#进入虚拟环境

Scripts\activate

#创建项目

django-admin startproject first_project

#进入项目后,创建应用

cd first_project
python manage.py startapp (应用名称)

运行项目

进入项目文件夹,执行命令;

python manage.py ruserver 8000(通过8000端口访问)

改变端口号

在终端:运行的时候加上一个端口号就可以了。命令为:

python manage.py runserver 9000

想让别人也能够访问网站

  1. 设置 host:0.0.0.0
    在命令行:
    python manage.py runserver 0.0.0.0 8000

  2. setting.py->ALLOWED_HOSTS = [’ * ', ]
    #注意要关闭自己电脑的防火墙

项目结构分析

  1. manage.py : 与项目进行交互。 输入 python manage.py help 可看下能做什么事情

  2. settings.py : 保存项目的所有配置信息

  3. urls.py : 用来做url于视图函数映射的。以后来了一个请求,就会从这个文件中找到匹配的视图函数

  4. wsig.py : 用来做部署的,不需要修改

URL分发器

  1. 视图:

1.视图的第一个参数永远都是request(一个HttpRequest)对象。
2.视图函数的返回值必须是HttpResponseBaes对象或者子类的对象。

from django.http import HttpResponse
def book_list(request);
    return HttpResponse("书籍列表:")

  1. URL中添加参数:

1.采用在rul中使用变量的方式:
在path的第一个参数中,使用’<参数名>'的方式可以传递参数。然后在视图函数中也要写一个参数,视图函数中的参数必须和url中的参数名称保持一致,不然就找不到这个参数。另外,url中可传递多个参数。

2.采用查询字符串的方式:
在url中,不需要单独的匹配查询字符串的部分,只需要在视图函数中使用request.GET('参数名称')的方式来获取。实例代码如下:

def author_detail(requset):
    author_id = requset.GET.get('id')
    text = '作者的id是: %s' % author_id
    return HttpResponse(text)

因为查询字符串使用的是’GET’请求,所以我们通过requset.GET来获取参数。并且因为GET是一个类似于字典的数据类型,所以获取值跟字典的方式都是一样的。

  1. url命名

1.为什么需要url命名:
因为url是经常变化的。如果代码中写死了可能会经常改代码。给url取名字,以后使用url的时候就使用他的名字进行反转就可以了,就不需要写死url了。

2.如何给一个url指定名称:
path函数中,传递一个name参数指定。实例代码如下:

#url.py --front

urlpatterns = [
    path('',views.index, name='index'),
    path('login/',views.login,name='login'),
]

3.应用命名空间;
在多个app之间,有可能产生同名的url,这时候为了避免反转url的时候产生混淆,可以使用由于命名空间,来做区分。定义由于命名空间非常简单,只要在appurl.py中定义一个叫做app_name的变量,来指定这个应用的命名空间即可。实例代码如下:

#url.py—front

app_name = 'front'

urlpatterns = [
    path('',views.index, name='index'),
    path('login/',views.login,name='login'),
]

以后在做反转的时候就可以使用应用命名空间:url名称的方式进行反转。实例代码如下:

login_url = reverse('front:login')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值