Django - day00 第一个页面
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 第一个页面的更多相关文章
- pycharm+Django启动我的第一个页面(Django二)
打开pycharm(社区版),File->open 找到由命令 django-admin startproject mysite 在D盘下创建的文件夹mysite mysite通过文件资源管理器 ...
- Django入门第一步:构建一个简单的Django项目
Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将 ...
- Yii2.0学习笔记:第一个页面Saying Hello
Controller目录下创建TestController.php 复制下面代码,yii跟tp一样,全程命名空间 <?php namespace app\controllers; use yii ...
- Django实现自定义template页面并在admin site的app模块中加入自定义跳转链接
在文章 Django实现自定义template页面并在admin site的app模块中加入自定义跳转链接(一) 中我们成功的为/feedback/feedback_stats/路径自定义了使用tem ...
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第二篇:第一个页面
摘要 本文首先一步一步完成Demo的第一个页面——首页.然后根据实现过程,说明一下其中用到的与ASP.NET MVC相关的概念与原理. 让第一个页面跑起来 现在,我们来实现公告系统 ...
- 浅入深出Vue:第一个页面
今天正式开始入门篇,也就是实战了~ 首先我们是要做一个博客网站,UI 框架采用江湖传闻中的 ElementUI,今天我们就来利用它确定我们博客网站的基本布局吧. 准备工作 新建一个vue项目(可以参考 ...
- django xadmin中logout页面在chrome浏览器中点击关闭页面无效
问题现象 django xadmin中logout页面在chrome浏览器中点击关闭页面无效,无法关闭相应的页面 问题原因 高版本的chrome等浏览器不支持在window.colse()的写法 问题 ...
- django 从零开始 4 404页面和500页面设置
在视图函数中定义两个 函数 分别对应404 个500页面 (自定义html内容吧,这里只是展示) 在template页面指向自己定义的404.html和500.html页面 在项目的urls中设置 h ...
- CI4框架应用四 - 第一个页面
我们来看一下CI4框架的默认页面是如何实现的. 我们先来认识一下路由文件(app\Config\Routes.php),这个文件非常重要,且功能强大,它定义了URL模式及响应处理方法,我们先看一下这个 ...
随机推荐
- building for production...Killed
npm run build报错 building for production...Killed 原理 按照他人的说法是,服务器内存不够用了,这样就给他配置一个单独的内存出来就解决了 解决方法 sud ...
- HDU 1009 FatMouse' Trade(简单贪心)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1009 FatMouse' Trade Time Limit: 2000/1000 MS (Java/O ...
- java ssm 后台框架平台 项目源码 websocket IM quartz springmvc
A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器freemaker模版技术 ,0个 ...
- ABAP术语-Transaction
Transaction 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/19/1112804.html Logical process in ...
- Ubuntu 16.04LTS 更新清华源
1 备份原来的更新源 cp /etc/apt/sources.list /etc/apt/sources.list.backup 如果提示权限不够就输入下面两行,先进入到超级用户,再备份 sudo - ...
- Jquery复选框的全选全不选及选择所有复选框实现全选的复选框
Jquery代码 $(function () { $(":checkbox.parentfunc").click(function () { //如何获取被点击的那个复选框 $(t ...
- PHP Mysql字符集utf8mb4支持Emoji表情
项目开发中经常会遇到用户在评论或者发表文章的时候会打一些表情在里面,如果我们在开发中不去做一些处理的话,表情会出不来的,甚至是报错,下面简单介绍处理方式.原文地址:小时刻个人博客:http://sma ...
- php源码建博客2--实现单入口MVC结构
主要: MVC目录结构 数据库工具类制作 创建公共模型类和公共控制器类 --------------文件结构:-------------------------------------- blog├─ ...
- django基本配置项-5
目录 BASE_DIR 项目路径 DEBUG 模式 ROOT_URLCONF DATABASES 数据库设置 国际化 静态文件 访问静态文件示例 ALLOWED_HOSTS TEMPLATES 模板设 ...
- Leecode刷题之旅-C语言/python-344反转字符串
/* * @lc app=leetcode.cn id=344 lang=c * * [344] 反转字符串 * * https://leetcode-cn.com/problems/reverse- ...