㈠ 如何使用Django创建简单的博客
第一节:开始(Starting your application)
进入到你的项目目录中,这个目录中应该包含这几个文件__init__.py,manage.py,settings.py和urls.py。我的project名字是djangorocks,如果你要用到其他名字,你需要在以后的代码中替换所有djangorocks。
在终端(terminal)中输入以下命令,来创建新的app目录和几个基本文件,以便我们的博客使用。
python manage.py startapp blog
现在你应该有个文件夹下面包含这三个文件__init__.py, models.py 和 views.py。
Important
打开project文件夹中的settings.py,找到INSTALLED_APPS并添加"blog" ,代码如下:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'djangorocks.blog',
)
Django现在已经知道你有一个新的app,下面的事情就是详细地来创建它。
第二节:定义你的模型(Defining your models)
这个模型也就是你的数据库结构,让我们打开app目录中的models.py,然后加入一些字段,因为这个非常简单,我将不会包含用户。
class Blog(models.Model):
title = models.CharField(max_length=100, unique=True)
slug = models.SlugField(max_length=100, unique=True)
body = models.TextField()
posted = models.DateField(db_index=True, auto_now_add=True)
category = models.ForeignKey('blog.Category')
class Category(models.Model):
title = models.CharField(max_length=100, db_index=True)
slug = models.SlugField(max_length=100, db_index=True)
现在我们来看看上面这段代码中每个部分分别代表什么意思
这将在数据库中创建一张名字为"Blog"的表,这是显而易见的,以后也会常用。
classBlog(models.Model):
这些都是要建立在数据库中的基本字段
title = models.CharField(max_length=100, db_index=True)
slug = models.SlugField(max_length=100, db_index=True)
body = models.TextField()
posted = models.DateTimeField(db_index=True, auto_now_add=True)
最后一个字段要稍微高级点,此字段的数据是从另一个表而来,也就是我们一般说的外键,具体可参考 SQL FOREIGN KEY 约束 。
category = models.ForeignKey('blog.Category')
模型构建完成
㈡ django做blog,到建立blog公共部分的时候就遇到这个问题,不知道如何解决了
ImportErrorat/blog/
Nomolenamedblog.urls
错误就是这里,把你代码以及结构截图过来吧。
㈢ 如何用django开发一个简易个人Blog-Python
1.网站首页展示已发布的博客记录,包括名称、摘要信息、发布日期、阅读量及评论数。
2.首页文章列表可按照分类筛选。
3.点击标题或阅读全文链接,进入博客阅读页面,展示文章标题、内容及评论内容。
博客后台管理部分:(后台套用了一个叫做ACE的后台模板,改造成了django形式的)
1.管理员登录功能
2.分页展示文章列表,可查看、编辑、删除选中文章,并支持批量删除功能。
3.增加新文章功能,利用网络ueEditor富文本编辑器,支持代码高亮显示功能。
4.支持分类的增、删、改、查功能。
下面是几张截图:
首页文章显示:
开发环境及软件版本:
开发是在windows 7,利用sublime text2编辑器。
采用python2.7.3+django1.7.0+mysql
前端采用bootstrap和一些成熟的jquery插件。
开发过程:
1.创建项目及app,规划项目结构。
2.设计数据模型,即数据库表及表结构。
3.设计公共展示部分样式,及后台数据与模板视图的展示。
4.改造ACE后台模板,添加文章管理、类别管理功能及登录验证功能。
5.部署到CentOS6.5,部署方式:nginx+uwsgi+django1.6+mysql
㈣ 如何用Python+django开发网站 10分钟内作出一个blog例子
先说下python程序是怎么和页面扯上关系的: 1、页面的展示是需要html来编写的 a、python是怎么让别人看到你写的页面的?在本机上直接双击打开就能看见了,但要在网络
㈤ 用django生成了blog链接,点击链接却打不开,提示错误,求大神支招!!!
把你源码里面使用中文的地方之前加上u
比如:‘中文’改成u‘中文’ 。
编码问题,难倒无数英雄好汉
㈥ 如何阅读Django源代码
github面关键业务想做网络看看web.py想做数值看numpy游戏看pygame看业务看源代码疼
㈦ 已知博客源代码,怎么用Python实现框架是Django
Django框架相对比较大,Python的版本、django的版本操作也略有不同,所以这个不是一个回答能解决你的问题。
你首先要去学习django框架
㈧ python-django框架制作个简单blog
可以在显示文章的时候显示评论框,用户输入后提交到后台,验证文章和评论是否同一个用户,是就提示不能给自己评论,否就保存该评论并提示成功
㈨ 求助django 实现前端页面检索功能的代码
设我们的 django 博客应用有如下的文章模型:
blog/models.pyclass Post(models.Model):
# 标题
title = models.CharField(max_length=70)
# 正文
body = models.TextField()
# 其他属性
def __str__(self):
return self.title
先看到第 1 步,用户在搜索框输入搜索关键词,因此我们要在博客上为用户提供一个搜索表单,html 表单代码大概像这样:
<form method="get" action="/search/">
{% csrf_token %} <input type="search" placeholder="搜索" required>
<button type="submit">搜索</button></form>
特别注意在 form 标签下有一个 {% csrf_token %},这是 django 用来防御跨站请求伪造(CSRF)攻击的机制。如果不知道什么是 CSRF 的话也没有关系,只要记住在使用 django 时,前端的表单代码里一定要加上 {% csrf_token %}。
用户输入了搜索关键词并点击了搜索按钮后,数据就被发送给了 django 后台服务器。表单的 action 属性的值为 /search/,表明用户提交的结果将被发送给 /search/ 这个 URL。我们为这个 URL 绑定一个 django 视图函数,在这个视图函数里完成前面第 2 步提到的过程。假设我们把视图函数的代码写在 blog/views.py 里:
blog/views.pydef search(request):
q = request.GET.get('q')
error_msg = ''
if not q:
error_msg = '请输入关键词'
return render(request, 'blog/errors.html', {'error_msg': error_msg})
post_list = Post.objects.filter(title__icontains=q)
return render(request, 'blog/results.html', {'error_msg': error_msg,
'post_list': post_list})
首先我们使用 request.GET.get('q') 获取到用户提交的搜索关键词。用户通过表单提交的数据 django 为我们保存在 request.GET 里,这是一个类似于 Python 字典的对象,所以我们使用 get 方法从字典里取出键 q 对应的值,即用户的搜索关键词。这里字典的键之所以叫 q 是因为我们的表单中搜索框 input 的 name 属性的值是 q,如果修改了 name 属性的值,那么这个键的名称也要相应修改。
接下来我们做了一个小小的校验,如果用户没有输入搜索关键词而提交了表单,我们就无需执行查询,而是渲染一个错误页面提示用户请输入关键词。
如果用户输入了搜索关键词,我们就通过 filter 方法从数据库里过滤出符合条件的所有文章。这里的过滤条件是 title__icontains=q,即 title 中包含(contains)关键字 q,前缀 i 表示不区分大小写。这里 icontains 是查询表达式(Field lookups),其用法是在模型需要筛选的属性后面跟上两个下划线。django 内置了很多查询表达式,建议过一遍 django 官方留个印象,了解每个表达式的作用,以后碰到相关的需求就可以快速定位到文档查询其用途:Field lookups
接下来就是渲染搜索结果页面,显示符合搜索条件的文章列表,下面是一个模板的简单示例:
results.html
{% if error_msg %} <p>{{ error_msg }}</p>{% endif %}
{% for post in post_list %} <div>
在这里显示文章的相应信息 </div>{% empty %} <div class="no-post">
没有搜索到符合条件的文章 </div>{% endfor %}
有了视图函数后记得把视图函数映射到相应了 URL,前面我们表单数据提交的 URL 为 /search/,因此将视图函数 search 绑定到该 URL 上。
blog/urls.pyurlpatterns = [
# 其他 url 配置
url(r'^search/$', views.search, name='search'),]
大功告成!