django初探-创建简单的博客系统(一)

django第一步1.django安装pipinstalldjangoprint(django.get_version())查看django版本2.创建项目打开cmd,进入指定目录

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

django第一步

1. django安装

  pip install django

  print(django.get_version()) 查看django版本

2. 创建项目

  打开cmd,进入指定目录

  django-admin startproject projectname或

  django-admin startproject projectname .     #最后是空格加点

  二者会在文件目录上存在差别

3. 创建应用

  进入project目录

  django-admin startapp appname或

  python manage.py startapp appname

  二者虽方式不同,但效果一样

  manage.py文件在项目创建后会被自动生成在项目的根目录下,它是对django-admin.py的简单封装,所以效果一样

4. 启动服务

  python manage.py runserver

5. 测试

  在浏览器中输入http://localhost:8000或http://127.0.0.1:8000

  django初探-创建简单的博客系统(一)

django项目结构认识

  windows平台下使用tree/f命令查看详细的文件结构

  下图创建xbqr项目和blog应用后的文件结构:

  django初探-创建简单的博客系统(一)

xbqr文件夹

  1. settings.py:这个文件包含了项目的初始化设置,可以针对整个项目进行相关参数配置,比如配置数据库,添加应用。

    重点关注以下几项:

    (1)DEBUG:

      # SECURITY WARNING: don’t run with debug turned on in production!
      DEBUG = True

    (2)ALLOWED_HOST

      在DEBUG为true时,其值可以为空,当部署到生产环境中时,要把主域名添加在这里,

      才能通过域名访问到本网站

    (3)INSTALLED_APPS

       这是一个非常重要的配置,所有的应用都被添加在这里

    (4)DATEBASES

       配置数据库,django支持多种数据库,MySQL、PosttgreSQL、Oracle等,默认的配置是SQLite

    (5)LANGUAGE_CODE

      设置项目语言,一般情况下不用修改,若非用汉字,则设置为‘zh-hans’

    (6)TIME_ZONE

      设置时区,通常为东八区,设置为‘Asia/Shanghai’

  2. urls.py

    URL配置表文件,根据用户输入的url将URL映射到应用程序上

  3. wsgi.py

    WSGI是python所选择的服务器和应用标准,Django也会使用

blog文件夹

  1. admin.py

    在这个文件中可以自定义Django的管理工具,比如设置在管理界面能够管理的项目,

    或者通过自定义与系统有关的类对象,向管理功能添加新的内容

  2. apps.py

    包含对应用的配置,为管理功能提供一个合适的应用名称

  3. migrations

    这是一个目录,用于存储应用的数据库表结构的指令,通过这些指令可以修改和创建数据库,从而在models.py模型类和数据库之间迁移

  4. models.py

    应用的数据模型

  5. tests.py

    编写测试文档来测试所建立的应用

  6. views.py

    用户保存响应各种请求的函数和类

编写简单博客

1. 编写数据模型类

  修改blog/modells.py文件

from django.db import models

# Create your models here.
from django.contrib.auth.models import User
from django.utils import timezone
class BlogArticles(models.Model): #注意基类
    '''
        标题,内容,作者,发布时间
    '''
    title = models.CharField(max_length=300)
    content = models.TextField()
    author = models.ForeignKey(User, "unknow", related_name="blog_posts")
    publish = models.DateTimeField(default=timezone.now)

    class Meta:
        ordering = ("-publish",)

    def str(self):
        return self.title

2. 根据数据模型建立数据库表

  在/xbqr/manage.py执行python manage.py makemigrations

  django初探-创建简单的博客系统(一)

  这样会在D:\Pystu\xbqr\blog\migrations目录下生成0001_initial.py文件

django初探-创建简单的博客系统(一)
django初探-创建简单的博客系统(一)

# Generated by Django 2.0.3 on 2018-03-25 06:47

from django.conf import settings
from django.db import migrations, models
import django.utils.timezone


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='BlogArticles',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=300)),
                ('content', models.TextField()),
                ('publish', models.DateTimeField(default=django.utils.timezone.now)),
                ('author', models.ForeignKey(on_delete='unknow', related_name='blog_posts', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ('-publish',),
            },
        ),
    ]

View Code

  如果对上述代码的含义不是很清楚,可以用python manage.py sqlmigrate blog 0001查看

  django初探-创建简单的博客系统(一)

3. 创建数据库  

  上面创建了一个能够建立数据库表的文件,下面在此基础上真正创建数据库

  python manage.py migrate

  django初探-创建简单的博客系统(一)

  可以查看db.sqlite3数据库文件

  如何查看可以参考博客:Python之sqlite3

4. 发布博客文章

  先用最简单的方式实现博客文章的发布,使用django默认的管理功能就可以发布文章,要使用此功能,必须先创建超级管理员

  python manage.py createsuperuser

  django初探-创建简单的博客系统(一)

  在服务器运行的情况下

  django初探-创建简单的博客系统(一)

  打开浏览器输入http://127.0.0.1:8000/admin进入网页

  django初探-创建简单的博客系统(一)

  登录后会看到Groups和Users两项,却找不到发布文章的地方

  找到/blog/admin/py文件,添加代码

from django.contrib import admin from .models import BlogArticles # Register your models here. admin.site.register(BlogArticles)

  这下我们就看到发布博客的地方

  django初探-创建简单的博客系统(一)

  点击add,添加博客

  下篇博客继续讲解如何显示博客文章标题和文章内容!

  django初探-创建简单的博客系统(二)

  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120184.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Pycharm配置——解释器(interpreter)「建议收藏」

    Pycharm配置——解释器(interpreter)「建议收藏」今天打开pycharm运行一段代码,结果遇到了这个问题:以上应该是没有配置解释器的问题,那我是怎么解决这个问题的呢。1、打开文件(File)2、打开设置(Setting)3、打开新project的默认设置4点击projectInterpreter选项5、点击如下图的右上角按钮6、找到showall(在projectInterpreter里面),点击;7、点开以后得到如下界面,然后点击右上角的+号:8、箭头所指那里会自动配置编译器,(前提是你在安装pycharm之前安装了像pyt

    2022年8月25日
    13
  • Java大数据开发[通俗易懂]

    Java大数据开发[通俗易懂](后记:写这些东西不管出于什么目的,总之自己乐意,有时候回顾一下,别有一番滋味!)博主QQ:1103088881idea从菜鸟到大神css-3d旋转相册时钟罗盘Java学习方法总结Java面向对象程序开发及实战Java高级特性编程及实战MySQL数据库应用技术及实战HTMLCSSJa…

    2022年5月12日
    53
  • yuicompressor java_yuicompressor

    yuicompressor java_yuicompressorYUICompressor-TheYahoo!JavaScriptandCSSCompressorTheYUICompressorisaJavaScriptcompressorwhich,inadditiontoremovingcommentsandwhite-spaces,obfuscateslocalvariablesusingthesma…

    2022年7月18日
    16
  • 2020朝花夕拾-不务正业的大学生做了什么比赛?[通俗易懂]

    2020朝花夕拾-不务正业的大学生做了什么比赛?[通俗易懂]朝花夕拾,旧事重提之意。恰逢CSDN年终征文,所以写作本文为年终总结,实为大学四年的总结,和CSDN一起成长参与各类竞赛的回忆。四年里和小伙伴们一起辛苦奋斗做了那么多比赛,当比赛结束,那些作品便无人问津了,放在学校的犄角旮旯里随着时间风化,也许并没有那么完善,但是对于当时付出时间和精力的我们来说,尤为珍贵,因此今天将它们一一回顾,作为纪念。

    2022年6月3日
    40
  • 将原字符串(自定义)按字符的ASCII 码值顺序排序后输出_字符串逆序输出java

    将原字符串(自定义)按字符的ASCII 码值顺序排序后输出_字符串逆序输出java将string的各个字符按照ASCII排序后,重新生成一个string的代码

    2022年4月21日
    42
  • 浅谈Mock测试

    浅谈Mock测试一、Mock测试的定义 Mock就是在测试过程中,对于一些不容易构造/获取的对象,创建一个Mock对象来模拟对象的行为 二、Mock测试的作用 1、为什么要做Mock: 在对代码进行单元测试过程中,经常会有以下的情况发生: classA依赖classB和classC classD依赖classC和classE classB依赖…..

    2022年6月20日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号