Python Web开发系列课程之——你的第一个Django View

【前置课程】使用PyCharm创建你的Django项目

一、缘由

程程(Mr_Cxy)一直在帮忙运营向右奔跑『Python爬虫小分队』的学习群。在第三期的征集过程当中他希望收集这些报名学员的入学信息,比如该学员编程语言的基础如何、比如学员目前的职业是什么,还又如学员可以接受的每天学习时长是多少等等。

原先程程使用了【金数据】的平台(是一款免费的表单设计和数据收集工具,可用来设计表单,制作在线问卷调查,组织聚会,询问意见,整理团队数据资料,获得产品反馈等),但是毕竟是其他平台掌控了一手资料和信息,所以使用起来多有不便。为此他找到我,希望我可以做一个自己的web page来帮助他解决这个业务难题。

于是我想到了Django。从了解需求到实现我用了大概3~4小时,完成了调查应用的开发、测试和部署(到阿里云服务器)

有些学员惊讶于为何如此之快就能完成这个业务的实现,除了个人的web开发经验之外,Django本身的强大也是不可或缺的因素。这个课程的学习目标就是快速帮助大家完成一个简单的调查功能来体验和入门Web开发。
从实际出发、运用所学解决问题,应该成为我们学习编程最重要的原因。

二、开始

学以致用,那么接下来就让我们来开始动手~

  • 【2分钟】在Pycharm中设置字体、主题、Keymap
    • 主题:File -> Settings -> Appearance -> Theme 可以选择:Darcula、IntelliJ、Windows
    • 字体:File -> Settings -> Editor -> Colors & Fonts 可以设置字体类型和大小等
    • Keymap:File -> Settings -> Keymap -> Keymaps 可以设置 Eclipse、VS等

讲解Pycharm中的其他常用settings(File and Code Templates)

  • 【2分钟】Project vs. apps
    一个Web项目可以理解为Project。比如我们创建的个人网站【mysite】。在一个个人网站当中会有各种各样的功能、模块、业务(诸如此类这样的叫法)。一个功能就可以是一个app,比如用户管理(User app)、文章管理(Article app)都是在一个Project当中不同的app。Project下面可以有很多apps,apps也可以属于不同的project。

  • 【2分钟】创建investigate app
    在Pycharm当中使用manage.py创建一个app【investigate】

python manage.py startapp investigate

讲解如何配置apps:在settings.py 的 INSTALL_APP配置中指定

  • 【5分钟】导入静态资源(https://docs.djangoproject.com/en/dev/howto/static-files/)
    • 操作:
      在template目录中创建 html文件
      创建static和css目录
      创建css目录
    • 讲解:
      django提供【django.contrib.staticfiles】来帮助你管理静态文件
      静态文件包括:images, JavaScript, CSS 等
      settings配置:STATIC_URL和STATICFILES_DIRS
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,"static")
]
  • 【5分钟】设计访问Urls并编写第一个View
    是不是一提到WEB开发,总有人会说【路由】?路由到底是什么?
    简单的说,路由是根据不同的 url 地址展示不同的内容或页面。
    在【urls.py】中配置访问URL,例如:
urlpatterns = [
    url(r'^admin/',admin.site.urls),
    url(r'^form/$',investigate)
]

讲解:
Django中的Urls和View的关系
Urls中调用View的方式
render函数的使用

运行效果图:

Python Web开发系列课程之——你的第一个Django View_第1张图片
调查问卷页面

提前展示Django 管理后台


Python Web开发系列课程之——你的第一个Django View_第2张图片
Django admin 后台

你可能感兴趣的:(Python Web开发系列课程之——你的第一个Django View)