【Django】不知道为什么就是想学一下 01

1. Django安装、项目创建及服务器连接

系统:Ubuntu 14.04.4

> cat /etc/issue   //查看系统版本

安装Django

> sudo pip install django

确定进入了root模式,进入django-admin.py所在目录,运行以下指令

> django-admin.py startproject mysite

在当前目录生成mysite文件夹,进入文件夹(哦,项目名可以随意取,不一定非得mysite...)

> manage.py runserver 8000

浏览器输入:http://127.0.0.1:8000/。显示如下界面,连接服务器成功

2. urls.py文件的配置

尝试修改manage文件夹中urls.py的内容。

URL配置就像是 Django 所支撑网站的目录。它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。 你就是以这种方式告诉 Django,对于这个 URL 调用这段代码,对于那个 URL 调用那段代码。

执行 django-admin.py startproject 时,该脚本会自动为你建了一份 URLconf(即 urls.py 文件)。

每个url模式的完整内容为

urlpatterns = patterns(前缀,
    url(正则表达式, 视图函数, 参数字典, 名称),
)

修改urls.py文件,将urlpatterns修改如下

urlpatterns = [
      url(r‘^admin/‘, admin.site.urls),
       url(r‘^$‘, ‘mysite.hello.helloworld‘),  #即mysite/hello.py中的hello_world函数
]

在mysite文件夹下创建hello.py文件

# -*- coding: utf-8 -*-
# hello.py

from django.http import HttpResponse

def hello_world(request):  #视图函数hello_world
    return HttpResponse("<p>Hello,World!</p>")  #一个视图功能必须返回一个HttpResponse

刷新http://127.0.0.1:8001/,显示如下

3. 数据库

接下来创建数据库,在第一个mysite文件夹下进行如下指令

python manage.py migrate

4. 增加app功能

首先了解一下app是什么吧~

之前starproject指令我们已经创建了mysite项目。

一个project包含很多个Django app以及对它们的配置。

技术上,project的作用是提供配置文件,比方说哪里定义数据库连接信息, 安装的app列表, TEMPLATE_DIRS ,等等。

一个app是一套Django功能的集合,通常包括模型和视图,按Python的包结构的方式存在。

例如,Django本身内建有一些app,例如注释系统和自动管理界面。 app的一个关键点是它们是很容易移植到其他project和被多个project复用。

创建一个app

python manage.py startapp blog    #创建blog这个app

在mysite中(不是mysite/mysite)生成了blog文件夹,内容如下

blog
    ├── migrations
    |       __init__.py
    ├── __init__.py
    ├── admin.py
    ├── models.py
    ├── tests.py
    └── views.py

创建应用程序blog后,找到mysite中的settings.py文件,在installed_apps下加上‘blog’,告诉Django使用blog这个app

INSTALLED_APPS = [
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
    ‘blog‘,     #添加blog!
]

【= - =插播一下,因为我的ubuntu一直没取得完全的root权限,每次输入指令需要的话都是sudo su,编辑blog内文件又遇到权限问题,可以通过输入以下指令取得超级权限,从而可以编辑一切文件】

> sudo sautilus

【插播完毕】

根据官方教程,先将blog/models.py内容改为如下

from __future__ import unicode_literals

from django.db import models
from django.utils import timezone

# Create your models here.
class Post(models.Model):  #定义Post对象,models.Model表明Post是Django的模型(?)  #定义titletextcreated_date,published_dateauthor属性
    author = models.ForeignKey(‘auth.User‘)  #models.ForeignKey表示指向另一个模型的连接
    title = models.CharField(max_length=200)
    text = models.TextField()
    created_date = models.DateTimeField(
            default=timezone.now)
    published_date = models.DateTimeField(
            blank=True, null=True)

    def publish(self):
        self.published_date = timezone.now()
        self.save()

    def __str__(self):
        return self.title

上面这一串暂时别管了= - =,慢慢解释

5. 将新模型添加到数据库

在数据库中为模型建立数据表,在mysite文件夹中运行如下指令

> python manage.py makemigrations blog

Then

> python manage.py migrate blog

酱紫Post模型就在在我们的数据库里面辣~

6. 后台管理

向blog/admin.py中添加代码

from django.contrib import admin

# 添加如下代码
from .models import Post

admin.site.register(Post)  #用此行代码注册模型使其在页面上可见

然后打开网站http://127.0.0.1:8001/admin,出现登陆界面

“为了登录, 你需要创建一个掌控整个网站所有东西的超级用户。

继续执行如下指令

> python manage.py createsuperuser

然后根据提示输入用户名邮箱密码blablabla~

之后用自己设置的superuser登陆刚刚的登陆界面。

可以Post自己的文章啦~

【Countinued】

-------------------------------------------------------------------------------------------------------------------------------------------------------

来自官方的教程(•??•?)?:http://tutorial.djangogirls.org/

时间: 2024-10-17 17:47:37

【Django】不知道为什么就是想学一下 01的相关文章

表妹想学Django框架,在我整理出教程后,表妹露出满眼的小星星!

最近表妹学习遇到了一点难题,她向我透露到想学Django,但是不知道怎么学,为了帮助她更好的学习好Python,理解透Django,我绞尽脑汁用图片将步骤细化.表妹看后欣喜若狂,废寝忘食的敲起了键盘. 一段代码配一段文字,外加9张图片,轻轻松松Django入门! ? 下面我们开始吧~ ~ 有需要Python学习资料,或者需要Python环境的老铁可以加群571799375,里面的资料免费发送给大家!(Python学习资料是2018年最新版) 一.开始前的准备工作与初探Django ? 二.创建一

想学UI设计,没基础怎么办?

说说很多人都担心的几个问题 问题一:一个朋友想学UI设计,没有任何基础的,也没有美术功底,想问问有经验的人需要多久能学会?想从事UI设计这方面的工作? 问题二:北京有好的UI培训班吗? 问题三:我了解的有一个培训的,是上午学画画,下午上课,学习6个月.不知道这么短的时间能学会吗? 问题四:六个月是不是只学习了皮毛?好就业吗? 问题五:没有学历的,不知道在成都这边学完好找工作吗? 问题六:UI设计发展前景怎么样?好像分很多种?哪种最好? 一.关于UI设计前景.就业问题 首先UI培训设计伴随着新媒体

想学逆向工程的大二学生——将自己塑造成一位有特色的人才

[来信] 老师,您好.我是一名大二的学生,大一的时候学过windows编程,大二的时候学过linux.android,但是都没学完,半吊子都不算就放弃了.其实自己感觉唯一有兴趣的,就是windows的逆向分析.但是人家说学那个起点很高,但是看着室友们学习web什么的做东西很快,自己就很着急,也想学点东西能快点开发出点东西来.于是就学学这个,学学那个,连最喜欢的逆向都放弃了. 我不知道现在如何是好,而且人家说学习逆向很难,自己也怕到毕业的时候学不到东西.自己现在很纠结,不知如何是好.其实我自己心里

“我想学编程”的真正含义是什么

本文转自兄弟连薛亚飞老师的帖子 关于编程教育,有两件非常重要的事情是首先要知道的: 1.大多数人其实并不是真的想学代码 2.学习代码并不是只需要写代码就可以了 what-people-really-mean-when-they-say-i-want-to-learn-to-code 如果你不了解上面两件事的话,那么你学习代码的方式就是错的,而且你永远也学不会写代码. 这第一点经过我反复琢磨之后,我认为它的意思是,如果你并不是真的想学代码,那么在你迈进这一领域的那一刻起,你只会觉得枯燥乏味得要命.

万字谏言,给那些想学Python的人,建议收藏后细看!

1. 这几天陆续收到很多读者.球友的留言.私信,说要怎么学Python?有没有基础的,偏小白的学习方法?我的回答是:等我统一答复. 小编从不食言,今天就来说说我觉得一个零基础.想转行.一直不得法的人应该如何入门. 万字谏言,给那些想学Python的人,建议收藏后细看!创一个小群,供大家学习交流聊天如果有对学python方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀.也希望大家对学python能够持之以恒python爱好群,如果你想要学好python最好加入一个组织,这

菜鸟也想学WPF—XAML 学习心得

只要打开VS->新建项目,然后选择WPF Application就ok.进入界面可以,你直接运行F5运行界面.就可以看到一个窗体了.简单吧.咱们进一步来看看右边关于solution Explorer的里面的东西.这里面包含了关于咱们新建项目的一些基本的文件.但是具体是个什么东西呢?如下图. 菜鸟也想学WPF-XAML 学习心得,布布扣,bubuko.com

分享一个 Excel 做的三国杀 游戏 ,想学EXCEL的绝对受用。

分享一个  Excel 做的三国杀 游戏 ,想学EXCEL的绝对受用. 下载地址: http://www.400gb.com/file/81315129  ,保证无毒.

想学android进来看看吧~ ~

我深知学校里面有很多同学想学习新的知识,而苦于没有指导.其实我想说的是,很多东西需要靠自己,需要借助度娘,谷歌的.当然有人指导是最好的了.对于刚接触android是不是也想做出像下面的效果: 这是我花了几天写的界面布局,很多也是通过网络学习的.至于功能是控制家电的.看了评论的朋友要么就是要源码之类的,其实看源码确实是一种很快提高自己一种方式.但我绝对无论你开发什么,对你所在的平台的相关特性的了解是很重要的一步,就android来说,我个人觉得首先要理解android的线程机制,其中包括了消息机制

最近想学Json,请问大家有没有什么好的Json教程介绍一下?

最近想学json,请问大家有没有什么好的Json教程介绍一下? 最近学完java的框架了,想了解一下json,可是找不到相关视频,请大家有这方面的Json教程好资料就介绍下啦,最后有网址链接啦. {}表示对象,以 键:值 对方式表示内部成员,比如var user = {id:1,username:"haha"}, 可以用user.id,user.username获取内部成员的值: []表示集合或者说是数组,内部多个成员以逗号隔开,比如var userList = [{id:1},{id