Django - day00

0.写在最前面

第一次接触Django,是在大三的做数据库课程设计的时候,当时好像还是1.8的版本,现转眼就到了2.0的版本。

当时由于没太多的课,仅花了不到一周的时间就完成了作业,之间也使用了其它工具来尝试完成这个作业。

第一次是在imooc上简单学习的,后来由于实在搜不到啥中文资源,于是就疯狂刷文档,有问题就上stackoverflow。

现在回头再看,学习的曲线之低,除了python语言的言简意赅,也得益于Django的框架简洁,让我只关注于逻辑的实现。

这次的重新学习,虽说是帮别人的忙,但也是有点自己的私心的,想借此机会能够重新认识一下Django,了解web服务器。

1. 关于环境的配置

1.1 安装的点滴

环境是Django+Python3.5+mysql

在环境搭建时需要使用python连接至mysql,在安装了mysql的情况下,需要配置mysqldb。若没安装,会出现如下错误提示

D:\workSpace\python\django_start>python  manage.py runserver
...
Traceback (most recent call last):
File "D:\usr\Python35-32\lib\site-packages\django\db\backends\mysql\base.py",
line 15, in <module>
import MySQLdb as Database
ImportError: No module named 'MySQLdb'
The above exception was the direct cause of the following exception:
...
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?

使用 pip install mysqlclient 安装即可,python2.*和3.*有异,这里不探究

About mysqlclient

python interface to MySQL

https://github.com/PyMySQL/mysqlclient-python

此时我的pip已安装目录为:

C:\Users\vincent>pip list --format=legacy
beautifulsoup4 (4.6.0)
certifi (2018.1.18)
chardet (3.0.4)
Django (2.0.4)
html5lib (1.0.1)
idna (2.6)
mysqlclient (1.3.12)
pip (9.0.3)
pytz (2018.3)
requests (2.18.4)
setuptools (28.8.0)
six (1.11.0)
urllib3 (1.22)
webencodings (0.5.1)

注意仅有一个mysqlclient

1.2 验证环境配置成功

一切就绪之后,由于Django默认是sqlite3,还需要配置数据库,配置如下:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_day_00',
'USER':'安装mysql时设置的账号',
'PASSWORD':'安装mysql时设置的密码',
'HOST':'localhost'
}
}

运行python manage.py runserver 即可

2. 跑一个页面

2.1 浏览器发送请求,需要设置响应的url:

#django_start\django_start\urls.py
from apps.message import views urlpatterns = [
path('admin/', admin.site.urls),
path('login/', views.get_login),
]

2.2 url已经有了,需要设置映射的函数:

#django_start\apps\message\views.py
from django.shortcuts import render def get_login(request):
return render(request,'message_login.html')

2.3 页面的资源设置

可以在每个单独的应用下建立一个static目录,也可以在根目录下建立一个static,在应用多的情况下,显然后者会更好。在根目录下建立一个static文件夹,设置找寻路径:

STATIC_URL = '/static/'
#新添加
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]

templates的设置的原因也同理,设置方式如下:

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates', # 解析模板的引擎
'DIRS': [os.path.join(BASE_DIR, 'templates')],# 找寻模板的路径
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

2.4 跑起来

浏览器中输入 http://localhost:8000/login/ 即可看到效果。

Django - day00 第一个页面的更多相关文章

  1. pycharm+Django启动我的第一个页面(Django二)

    打开pycharm(社区版),File->open 找到由命令 django-admin startproject mysite 在D盘下创建的文件夹mysite mysite通过文件资源管理器 ...

  2. Django入门第一步:构建一个简单的Django项目

    Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将 ...

  3. Yii2.0学习笔记:第一个页面Saying Hello

    Controller目录下创建TestController.php 复制下面代码,yii跟tp一样,全程命名空间 <?php namespace app\controllers; use yii ...

  4. Django实现自定义template页面并在admin site的app模块中加入自定义跳转链接

    在文章 Django实现自定义template页面并在admin site的app模块中加入自定义跳转链接(一) 中我们成功的为/feedback/feedback_stats/路径自定义了使用tem ...

  5. ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第二篇:第一个页面

    摘要      本文首先一步一步完成Demo的第一个页面——首页.然后根据实现过程,说明一下其中用到的与ASP.NET MVC相关的概念与原理. 让第一个页面跑起来      现在,我们来实现公告系统 ...

  6. 浅入深出Vue:第一个页面

    今天正式开始入门篇,也就是实战了~ 首先我们是要做一个博客网站,UI 框架采用江湖传闻中的 ElementUI,今天我们就来利用它确定我们博客网站的基本布局吧. 准备工作 新建一个vue项目(可以参考 ...

  7. django xadmin中logout页面在chrome浏览器中点击关闭页面无效

    问题现象 django xadmin中logout页面在chrome浏览器中点击关闭页面无效,无法关闭相应的页面 问题原因 高版本的chrome等浏览器不支持在window.colse()的写法 问题 ...

  8. django 从零开始 4 404页面和500页面设置

    在视图函数中定义两个 函数 分别对应404 个500页面 (自定义html内容吧,这里只是展示) 在template页面指向自己定义的404.html和500.html页面 在项目的urls中设置 h ...

  9. CI4框架应用四 - 第一个页面

    我们来看一下CI4框架的默认页面是如何实现的. 我们先来认识一下路由文件(app\Config\Routes.php),这个文件非常重要,且功能强大,它定义了URL模式及响应处理方法,我们先看一下这个 ...

随机推荐

  1. P2213 [USACO14MAR]懒惰的牛The Lazy Cow_Sliver

    P2213 [USACO14MAR]懒惰的牛The Lazy Cow_Sliver 最大化一个子矩阵的和. 我们如何去做,dp和贪心呀! 大体题意:给定一个正方形,然后在正方形中求出一个大小已经给定的 ...

  2. 关于$NOIP2017$的题目讲解

    关于\(NOIP2017\)的题目讲解 1.小凯的疑惑 题目描述: 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法 ...

  3. javascript返回顶部插件+源码

    javascript插件->returnTop.js: /* ** 插件名称returnTop.js ** 调用返回头部单例参数说明 ** 调用方式:turn.init(ele,speed); ...

  4. Learning by doing——获黄色领骑衫之感

    获奖感言 能拿到这件黄色的领骑衫,心里真的非常高兴.仔细看了一下,扣子.领子.各种图案各种细节十分精致.可以说这件领骑衫既有纪念意义,又有实用意义,真的很棒. 背后的故事 其实开始接触博客的时候,我是 ...

  5. JQuery手写一个简单的轮播图

    做出来的样式: 没有切图,就随便找了一些图片来实现效果,那几个小星星萌不萌. 这个轮播图最主要的部分是animate(),可以先熟悉下这个方法. 代码我放到了github上,链接:https://gi ...

  6. ES6中常用新特性讲解

    1.不一样的变量声明:const和let ES6推荐使用let声明局部变量,相比之前的var(无论声明在何处,都会被视为声明在函数的最顶部) let和var声明的区别: var x = '全局变量'; ...

  7. H5输入框在输入信息的时候 页面会变形 并且在页面不变形的时候 键盘会遮挡 输入框的解决办法

    $(document).ready(function () { $('body').css({'height':$(window).height()})});//这行是解决输入框在输入信息弹出键盘后页 ...

  8. git 码云 使用记录

    使用了码云的私有仓库. 一.首先下载安装git 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功! 二.创建版本库 什么是版本库 ...

  9. 替代Xshell的良心国产软件 FinalShell

    今年8月份NetSarang公司旗下软件家族的官方版本被爆被植入后门着实让我们常用的Xshell,Xftp等工具火了一把,很长时间都是在用Xshell,不过最近发现了一款同类产品FinalShell, ...

  10. 浅谈HashMap与线程安全 (JDK1.8)

    HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型.HashMap 继承自 AbstractMap 是基于哈希表的 Map 接口的实现,以 Key-Value 的形式存在,即 ...