Django高级实战 开发企业级问答网站✍✍✍
Django高级实战 开发企业级问答网站
1. 创建项目与app
创建项目
django-admin startproject firstsite
创建app
python manage.py startapp firstapp
2.settings里面添加app
编辑 firstsite/settings.py:
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'firstapp', # 添加刚才创建的app
)
3. 编辑models层
打开 firstapp/models.py,编辑如下内容:
from django.db import models
# 创建一个叫 Article 的类,它继承自django.db.models.Model,# headline 和 content 是它的属性,都继承自django.db.models.Field# 并定义了属性的数据类型和限制class Article(models.Model):
headline = models.CharField(null=True, blank=True, max_length=200)
content = models.TextField(null=True, blank=True)
# 让实例在后台管理界面显示自己的headline
def __str__(self):
return self.headline
4. 创建和合并数据库
对 Model 做了修改后,使用 makemigrations 命令,你的 Model 会被扫描, 然后与 migrations文件夹中以前的版本作比较, 然后生成本次迁移文件。
python manage.py makemigrations
有了新的 migration 文件,就可以使用 migrate 命令修改数据库模式:
python manage.py migrate
每次修改完 Model 后都应该执行上诉命令。
5.设置模板路径
在 firstapp 文件夹内创建 templates 和 static 两个文件夹,html 文件放入 templates 文件夹,css、js 和图片等文件放入 static 中.
文档目录树如下:
然后在 settings.py 中修改模板路径:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
# 模板路径,意思是:找到根目录,在根目录下添加 templates
'DIRS': [os.path.join(BASE_DIR, 'firstapp', 'templates').replace('\\','/')],
'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',
],
},
},]
6.创建管理后台和超级管理员
在 firstsite 目录下打开命令行,输入:
python manage.py createsuperuser
按要求,填上用户名、邮箱、密码,打开,登录管理界面,就能看到以下界面:
要让 Article 出现在管理界面,需要在 admin.py 引入相应的数据项:
from django.contrib import adminfrom firstapp.models import Article # c从模板层引入Article
admin.site.register(Article) # 在后台管理中添加 Article
这样后台就多了 Article 一项了。
你可以点进去添加新内容:
7.在 View 中获取 Model 的数据
编辑 views.py,引入 model 中文章列表,然后渲染网页:
from django.shortcuts import renderfrom firstapp.models import Article # 从modles引入刚创建的类Articlefrom django.template import Template,Context
def index(request):
# 全部的文章列表
article_list = Article.objects.all()
# 一个字典结构,包装要渲染的数据
context = {'article_list': article_list}
# 渲染,包含三个参数:request、模板 html 的名字、context
index_page = render(request, 'first_web.html', context)
return index_page
8.在 Template 中增加动态内容
编辑 templates 文件夹里相应的 html 文件(这里我命名为:first_web.html):
<!DOCTYPE html>
<!-- Django 的静态文件标签 -->
{% load staticfiles %}
<html>
<head>
<meta charset="utf-8">
<title>first_web</title>
<!-- 引入 static 文件夹里面的css样式 -->
<link rel="stylesheet" href="{% static 'css/semantic.css' %}" media="screen" title="no title">
</head>
<body>
<div class="ui segment">
<h1 class="ui centered header">Your Blog</h1>
</div>
<div class="ui basic segment">
<!-- 引入 static 文件夹里面的图片 -->

</div>
<!-- 用一个 for 循环来顺序展示 article 里的内容 -->
{% for article in article_list %}
<div class="ui very padded segment">
<h2>
<i class="star icon"></i>
<!-- article 的标题 -->
{{article.headline}}
</h2>
<!-- article 的内容 -->
<p>{{article.content}}</p>
</div>
<br>
{% endfor %}
<!-- for 循环结束 -->
</body></html>
9.在 URL 中分配网址
编辑 urls.py,作用是让链接可以被访问:
from django.conf.urls import include, urlfrom django.contrib import admin# 引入视图from firstapp.views import index
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/', index, name='index'),
Django高级实战 开发企业级问答网站✍✍✍的更多相关文章
- Django高级实战 开发企业级问答网站完整
资源获取链接点击这里 Django高级实战 开发企业级问答网站 从实际需求分析开始,实现当今主流知识问答应用的功能,包括动态.文章.问答.私信.消息通知.搜索.个人中心,打造企业级知识问答网站,由此全 ...
- Django高级实战 开发企业级问答网站 ✌✌
Django高级实战 开发企业级问答网站 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 从实际需求分析开始,实现当今主流知识问答应用的功能,包括动态.文章.问 ...
- Django高级实战 开发企业级问答网站
Django高级实战 开发企业级问答网站 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的 ...
- vue2.0与实战开发
慕课网实战 百度云 web前端实战: Node.js入门到企业Web开发中的应用 Web前端性能优化 让你的页面飞起来 前端跳槽面试必备技巧 前端JavaScript面试技巧全套 node.JS 线上 ...
- 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程
点击了解更多Python课程>>> 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程 适用人群: 即将毕业的大学生,工资低工作重的白领,渴望崭露头角的职场新人, ...
- 强力Django+杀手级xadmin开发在线教育网站
强力Django+杀手级xadmin开发在线教育网站采用 Python3.7全新开发 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的 ...
- Python+Django+Eclipse 在Windows下快速开发自己的网站
一.配置开发环境 我的开发环境是:Python3.3.2 + Django1.5.2 + Eclipse 1.安装Python 下载地址:http://www.python.org/getit/ 安装 ...
- 分享Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站
这是个什么的项目? 使用 Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站. 博客线上地址:www.boblog.com Github地址:https: ...
- 高级Java开发人员最常访问的几个网站
这是高级Java开发人员最常访问的几个网站. 这些网站提供新闻,一般问题或面试问题的答案,精彩的讲座等.质量是优秀网站的关键因素,这此网站都有较高的质量内容.下面逐一介绍: 1. Stackoverf ...
随机推荐
- 理解TCP/IP,SOCKET,HTTP,FTP,RMI,RPC,webservic
TCP/IP:网络宽带,传输数据的基础协议,所有得数据要在网络上传输都是基于TCP/IP协议(或UDP),才能送达到指定的目的地(IP,服务器硬件地址). SOCKET:SOCKET只是面对编程人员的 ...
- MaxCompute问答整理之9月
本文是基于本人对MaxCompute产品的学习进度,再结合开发者社区里面的一些问题,进而整理成文.希望对大家有所帮助. 问题一.如何查看information_schema的tables? 在使用OD ...
- 自定义alert 确定、取消功能
以删除为例,首先新建html <table border="1" cellpadding="0" cellspacing="0" id ...
- weblux上传图片
我是接口接收图片然后上传到阿里云上,由于引入的是spring weblux,所以使用方式不同,代码如下 @PostMapping(value = "/upload", consum ...
- 实现组件props双向绑定解决方案
注意: 子组件不能直接修改prop过来的数据,会报错 方案一: 用data对象中创建一个props属性的副本 watch props属性 赋予data副本 来同步组件外对props的修改 watch ...
- vmware压缩磁盘空间的方法, linux怎么卸载vmware
家里笔记本40G,可用空间怎么挤都只剩7G,从单位copy回来的linux虚拟机要10G,经检查实际使用空间5.7,也就是其他都是空余空间,可以释放掉.(只适合independent.Persiste ...
- nginx启停脚本
安装nginx时,源码包中未带官方的启动脚本,也就无法使用service nginxd start这种启动方式,查了下资料自己写了一个: #!/bin/bash #@version: #@author ...
- 20140321 sizeof 虚函数与虚函数表 静态数组空间 动态数组空间 位字段
1.静态的数组空间char a[10];sizeof 不能用于1:函数类型 2:动态的数组空间new3:位字段 函数类型:int fun();sizeof(fun())计算的是返回类型的大小,并不是函 ...
- 03、request 模块高级
requests高级部分 代理 cookie 验证码的识别 模拟登陆 代理 代理概念:代理服务器. 作用:接受请求==>请求转发. 代理和爬虫之间的关联: 可以使用请求转发的机制使得目的服务器接 ...
- 19-MySQL-Ubuntu-数据表的查询-自关联(八)
自关联 转自:https://blog.csdn.net/hubingzhong/article/details/81277220