用Django写出“hell world”】的更多相关文章

今天来学习外键的使用,用外键来连接数据库中的两个表. 当我们的tutorials非常多的时候,目前的显示方式就会使得页面非常凌乱.我们可以考虑把这些教程分为不同的系列,页面只显示标题以及概要等信息,进一步的我们可以再添加一个类别,比如数据分析.网站开发等等.这样每个类别下有相应的系列,每个系列下有相应的教程.为了实现这一切,我们可以使用外键来连接两个表. 打开main文件夹下的models.py,我们新增两个model:TutorialCategory和TutorialSeries,新增后的mo…
今天来实现如何在页面弹出一些信息,比如注册成功后弹出注册成功的信息.这一点可以通过materialize里的Toasts来实现. django自带的messages可以告诉我们是否注册成功,以及注册失败,或者提出警告.我们首先修改views.py,来引入messages: from django.shortcuts import render, redirect from django.http import HttpResponse from .models import Tutorial f…
今天来实现网站的登入和登出功能. 首先我们需要在urls.py中添加路径,注意此处的路径和在导航栏中设置的文字路径保持一致: from django.urls import path from . import views app_name = 'main' #此处为了urls的命名空间 urlpatterns = [ path('', views.homepage, name='homepage'), path('register/', views.register, name='regist…
今天学习如何写一个注册用户的界面. 上一节的导航栏中我们修改了导航栏右侧的文字为register并将路径设置为/register,内容如下: <li><a href="/register">Register</a></li> 为了让我们在点击Register的时候,可以成功跳转到register的页面,我们需要新建一个register.html的文件,内容如下: {% extends 'main/header.html' %} {% bl…
今天开始建立App中的第一个Model,命名为Tutorial. Model的定义在main文件夹下的models.py中通过类进行,我们希望Tutorial这个model包含三个属性:标题.内容和发布日期,因此修改models.py的内容如下: from django.db import models # Create your models here. class Tutorial(models.Model): tutorial_title = models.CharField(max_le…
一.系统实战环境 1 2 3 4 系统版本:CnetOS6.5 x86_64 Django版本:Django-1.5.8 MySQL版本:MySQL-5.1.73 Python版本: python-2.6.6 二.Django安装部署 首先去官网下载django主程序包,Django官方下载地址为:https://www.djangoproject.com/ 文件下载地址: https://www.djangoproject.com/download/1.5.8/tarball/ 1.Djang…
今天我们来学习给页面添加一个Sidebar,根据Sidebar跳转到相应的tutorial. 打开views.py,编辑single_slug函数: def single_slug(request, single_slug): categories = [c.category_slug for c in TutorialCategory.objects.all()] if single_slug in categories: matching_series = TutorialSeries.ob…
今天继续学习外键的使用. 当我们有了category.series和很多tutorials时,我们查看某个tutorial,可能需要这样的路径http://127.0.0.1:8000/category/series/tutorial,这样看上去十分的繁琐,我们希望无论是在category下还是在series.tutorials下,都只有一级路径. 那么如何做呢?首先在views.py中,我们定义一个single_slug函数: def single_slug(request, single_s…
前面对Models有了一些了解,今天开始进一步了解Views,了解Views如何和Models交互以及了解模板(templates). 打开main文件夹下的views.py,重新编写homepage函数,render的用法可在帮助文档 [1]中查看: from django.shortcuts import render from django.http import HttpResponse from .models import Tutorial # Create your views h…
前面我们已经建立了模型Tutorial,也已经可以用Navicat Premium打开数据看查看数据,接下来我们通过建立admin账户来上传数据. 在命令行执行如下命令来创建用户: python manage.py createsuperuser 然后输入相应的用户名.邮箱和密码,邮箱可随意填写,接下来执行 python manage.py runserver ,在浏览器输入 http://127.0.0.1:8000/admin/看到下图,输入刚才创建的用户名和密码: 我们可以在User中看到…
在安装好Anaconda和django之后,我们就可以开始创建自己的第一个Web app,那么首先创建一个空文件夹,之后创建的文件都在这个文件夹内. 启动命令行进入此文件夹内,可以先通过如下命令查看一下自己的python版本和django版本. python --version  django-admin --version 我的python和django版本分别是3.7.0和2.1.5 使用如下命令创建第一个项目,命名为mysite. django-admin startproject mys…
今天开始学习网页风格和设计,就像python有Web框架一样,也有一些CSS框架.对于CSS框架,我们可以使用默认的样式,也可以在原基础上编辑修改.本教程使用的是materialize这个CSS框架[1],首页界面如下: 点解GET STARTED,我们可以把它下载到本地使用,也可以直接复制相应的链接使用. 为了套用如下这个Cards界面,我们直接将代码复制到home.html: 修改后的home.html内容如下: {% load static %} <!-- Compiled and min…
代码见 https://github.com/linux-wang/show-me-the-code/tree/master/dj_test 实际上是 https://github.com/linux-wang/show-me-the-code 的练习题 使用django写实际上有点复杂,可以用一下轻一点的模板来实现(当然,最喜欢的还是他的后台管理这些 中间出了很多错误,暴露了自己水平的问题(前端也不会,凑合看吧…
正式写项目准备前的工作 Django是一个Web框架,我们使用它就是因为它能够把前后端解耦合而且能够与数据库建立ORM,这样,一个Python开发工程师只需要干自己开发的事情就可以了,而在使用之前就我们需要给Django做文件配置和数据库配置 上一章写过的文章,有些朋友反应,对于Web框架部分写的过于深入,而对于Django项目讲解的比较少,感觉实用性不强,我想说 # 万物本源,你在写项目的时候,如果连最基本的原理都不懂,出了Bug你怎么解决 # 如果是在看不懂,只需要理解http通信原理就可以…
h4 { background: #698B22 !important; color: #FFFFFF; font-family: "微软雅黑", "宋体", "黑体", Arial; font-size: 17px; font-weight: bold; height: 25px; line-height: 25px; margin: 15px 0 !important; padding: 5px 0 5px 20px } 1.前言 上篇 写出…
h4 { background: #698B22 !important; color: #FFFFFF; font-family: "微软雅黑", "宋体", "黑体", Arial; font-size: 17px; font-weight: bold; height: 25px; line-height: 25px; margin: 15px 0 !important; padding: 5px 0 5px 20px } 1.前言 相比高级语…
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; im…
    如何写出高质量的技术博客?答案是:如果你想,就一定能写出高质量的技术博客.看起来很唯心,但这就是事实.有足够愿力去做一件目标明确,有良好反馈系统的事情往往很简单.就是不停地训练,慢慢地,你自己就能找出规律和技巧.所以,要写出高质量的技术博客,首先要解决为什么要写的问题. 为什么要写 我一直很喜欢的一个学习方法是 Learning by teaching 一个课题,如果你能给不懂的人解释清楚,说明你对这个课题的理解足够深入.把一个课题展开来写,你可能会发现某些方面你还写不清楚,这往往说明你…
写出将字符串中的数字转换为整型的方法,如:"as31d2v"->312,并写出相应的单元测试,输入超过int范围时提示不合法输入. public struct ConvertResult { public ConvertState State; public int Number; } public enum ConvertState { // 输入不合法 InValid = , // 输入合法 Valid = } public class StringHelper { publ…
在移动端会出现线条太粗的现象,简单来说,是因为手机端的像素单位和ui的图比例是2:1,所以ui图的1px边框对我们来说就是0.5px,但是浏览器渲染的最小单位就是1px,下面给几种方法用css写出0.5px边框1. html部分 <div class="border">测试0.5px边框</div>css部分.border{ position: relative; color: #555; font-size: 14px; line-height: 41px;…
题目很肤浅.. 但是这件事我们要做.. 那么有一种方法叫做刷表法.. 当你发现这个问题具有最优子结构,重叠子问题时 那么这是一个dp问题是使用本方法的前提 画出该dp状态所对应的矩阵 画出转移关系线...找出前置依赖的所有状态 如果我们能找到该表的一个遍历顺序可以使得 每次计算都依赖之前已经计算好的结果计算出来 那么我们就能正确地写出这个dp的递推写法 举个例子..矩阵链乘法是按dp表对角线转移 而最长公共子序列就正常m*n地for转移 ============= 这是解决dp问题的一个典型的d…
计算各种描述性统计量函数脚本(myDescriptStat.R)如下: myDescriptStat <- function(x){ n <- length(x) #样本数据个数 m <- mean(x) #均值 me <- median(x) #中位数 mo <- names(table(x))[which.max(table(x))] #众数 sd <- sd(x) #标准差 v <- var(x) #方差 r <- max(x) - min(x) #极…
需求:将一个JSON对象写出到文件中,要求文件中的JSON数据带有简单的格式.代码的实现参考了Java算法中的栈处理括号匹配问题.好了,不多说了,下面是代码的实现. 代码: package gemu.test.json; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import net.sf.json.JSONArray; public cla…
1.setTimeout和setInterval都属于js中的定时器,可以规定延迟时间再执行某个操作,不同的是setTimeout在规定时间后执行完某个操作就停止了,而setInterval则可以一直循环执行下去. 下面介绍一下两种定时器的语法: setTimeout(expression,milliseconds)  以及 setInterval(expression,milliseconds) 其中 expression是将要执行的某一项操作,而milliseconds则是延迟时间,expr…
搞java的同学们可能对无副作用这个概念比较陌生,这是函数式编程中的一个概念,无副作用的意思就是: 一个函数(java里是方法)的多次调用中,只要输入参数的值相同,输出结果的值也必然相同,并且在这个函数执行过程中不会改变程序的任何外部状态(比如全局变量,对象中的属性,都属于外部状态),也不依赖于程序的任何外部状态. 比如下面的两个方法,就可以认为是无副作用的. /** * * @author leo * */ public class NoSideEffect { public static i…
对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于团队合作和后期的维护:而有的混乱,虽然表达出了最终的效果,然而却晦涩难懂,显然团队成员在读这样的代码时就显得无从下手,更不利于后期的维护了.那么如何写出优雅的代码呢?下面我将以一个很小的项目就以下几个方面简单的表达一下自己的看法,如有不妥,望批评指正. 如何整理一个项目. 如何写出清晰易懂的HTML代码. 如何写出优雅的css代…
最开始想出的标题是<Declarative C++ GUI库>,但太标题党了.只写了两行代码,连Demo都算不上,怎么能叫库呢……后来想换掉“库”这个字,但始终找不到合适词来替换.最后还是起了个low一点的名字,贱名好养活啊! 这篇文章的目的是介绍如何只用C++写出带有Declarative风格的代码.有一些GUI库需要额外的预处理过程(比如qt),还有一些也支持XML格式的GUI声明,但需要运行时Parse那个XML(比如wxWidgets).能不能只用一个C++编译器.不要运行时Parse…
1.前言 上篇 写出易调试的SQL , 带来了一些讨论, 暴露了不能重用执行计划和sql注入问题, 十分感谢园友们的建议 . 经过调整后 ,将原来的SQLHelper 抓SQL 用做调试环境用, 发布环境还是走Dapper的参数化查询, 保持原有优势. 见如下代码. 2. 在开发调试阶段 抓最终SQL 将Dapper 查询Query 和执行Execute 进行了再包装, 插入了 抓最终sql 的代码 public class DapperTaller { /// <summary> /// d…
即或是最简单的需求,不同的程序员也会写出不一样的代码: 需求:充值程序过虑不符合条件的充值金额,即只能充入100.200.500.1000金额,其它过虑: 1.菜鸟程序员可能会这样写,虽然可读性强,代码啰嗦,不够优雅. $(function () { var recharge = 100; if (100 == recharge || 200 == recharge || 500 == recharge || recharge == 1000) { //to do some thing! } }…
神兽护体,代码无bug.经常看到代码注释的各种形状,这是一种程序员情怀.那么,如何能写出零 Bug 的代码呢,来看看@码农翻身 的这篇手册--零Bug的代码是怎么炼成的. 写零 Bug 一定少不了代码审查,推荐下 mindwind 的随笔思考Code Review 程序员的寄望与哀伤,是否也说出了你的心声.除此之外,@叶孤城___ 和其他几个伙伴做了Code Review的高效专业代码审核服务. 再来看下本期 fir.im Weekly 的其他干货内容. 『 iOS,Android, 前端开发干…