第一个django项目

本文详细介绍了如何在Ubuntu 12.04环境下搭建Django项目,包括创建项目、配置数据库、建立应用、定义模型及设置自动admin应用等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说在前面,这篇文章是为记录下我个人的操作记录,不一定适合你的情况,但你可以当作参考 :)

关于环境搭建你可以看这里


这个第一个django项目我是参考《django web开发指南》这本书的,注意这本书是09年出版的,现在django已经更新了,所以书上的讲解和现在的操作会有一些出入,如果你也刚好是看这本书,苦于书上的介绍与实际有出入,那我的文章可能刚好能帮助你解决这个问题


我的环境: 

ubuntu 12.04 

python 2.7.3

django 1.5.1 

mysql  Ver 14.14 Distrib 5.5.29, for debian-linux-gnu (x86_64) using readline 6.2

服务器 : 这里我选择了django自带的


流程:

  1. 使用django提供的命令新建django项目
  2. 再建数据库, 并在setting.py设置好django对数据库的配置
  3. 使用django命令新建应用
  4. 在setting.py中添加应用声明并修改应用目录下的models文件内容
  5. 使用django命令创建表
  6. 设置自动admin应用,完成后再执行一次创建表的命令
  7. 最后, 开启服务器, 在浏览器中输入网址验证吧


开始:

首先选择一个目录(你喜欢), 在其下面运行下面的命令

django-admin.py startproject firstproj

firstproj  是你自己的设定

在我的环境下,得到了这些文件

firstproj/  manage.py


注意 《django web开发指南》里面介绍的是目录下存在以下这些文件

__init__.py  settings.py  urls.py manage.py

那么这些文件在我的环境上去了哪里呢? 没错,看到我的目录下存在 firstproj manage.py ,所以 manage.py 独立放在了外面,而其他文件( _init__.py setting.py urls.py)就放在 firstproj/firstproj/下,在我的环境下是这样的:

注意是 firstproj/firstproj/

__init__.py  settings.py  urls.py  wsgi.py

注意这里是多了 wsgi.py

这时候你运行  ./manage.py runserver ,然后在浏览器输入 http://127.0.0.1:8000就能看到一个提示页面,“ It Worked!"


继续:

现在我需要用mysql新建一个数据库

mysql -u root -p
create database firstproj;
新建了一个数据库 firstproj 

show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| firstproj          |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

数据库建好了,这时候就去 setting.py 里修改关于数据库的信息

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # 这里添加了mysql
        'NAME': 'firstproj',                      # 注意这里改了
        # The following settings are not used with sqlite3:
        'USER': 'root', # 这里改了root
        'PASSWORD': '你数据库的密码',
        'HOST': '',                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '',                      # Set to empty string for default.
    }
}

保存退出,回到 firstproj/ 路径, 注意不是 firstproj/firstproj/

执行命令

 ./manage.py startapp blog
创建应用 blog, 完成之后 ls 一下, 如下:

blog  firstproj  manage.py
由于创建了应用, 进入 setting.py 注册一下,修改如下:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
	'blog', #添加这行! 不是写 'firstproj.blog'
    # Uncomment the next line to enable the admin:
    #'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
)

保存退出, 进入blog目录下, 修改 models.py , 如下:

from django.db import models

class BlogPost(models.Model):
	title = models.CharField(max_length=150)
	boby = models.TextField()
	timestamp = models.DateTimeField()
保存退出。


这时候在 firstproj/ 下运行:

 ./manage.py syncdb
由于之前提到的步骤中我是按照书上介绍的操作,所以都出现了如下的错误:

ImportError: No module named fisrtpoj.blog
ImportError: No module named firstpoj.blog
ImportError: No module named blog
OperationalError: (1045, "Access denied for user 'sheng'@'localhost' (using password: YES)")
OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")


当每一次操作都出现错误,我便按照每一条错误信息进行修改, 直到OK为止, 注意上面的错误我是贴出来提醒一下, 并不是你按照我上面贴出的步骤操作后也会出现这些错误。

 ./manage.py syncdb
这条指令操作成功会出现以下信息, 初始化信息:

Creating tables ...
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table blog_blopost

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (leave blank to use 'sheng'): 
Email address: 你的邮箱
Password: 
Password (again): 
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)

到现在, 就要设置自动 admin 应用:

打开 setting.py , 修改如下

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
	'blog',
    # Uncomment the next line to enable the admin:
    'django.contrib.admin', #修改了这里
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
)
保存退出

打开urls.py , 修改如下(注意这里跟书上是不同的):

from django.conf.urls import patterns, include, url

# Uncomment the next two lines to enable the admin:
from django.contrib import admin #修改这里
admin.autodiscover() #修改这里

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'firstproj.views.home', name='home'),
    # url(r'^firstproj/', include('firstproj.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
     url(r'^admin/', include(admin.site.urls)), #修改这里
)
其实文件中的注释已经很好的做了一个说明

接着修改 blog/models.py ,修改如下:

from django.db import models
from django.contrib import admin #添加这句

class BlogPost(models.Model):
	title = models.CharField(max_length=150)
	boby = models.TextField()
	timestamp = models.DateTimeField()

admin.site.register(BlogPost) #添加这句
保存退出

再执行一次

 ./manage.py syncdb


最后,开启 django 自带服务器, 执行 ./manage.py runserver

然后在浏览器中输入 http://127.0.0.1:8000/admin/

如无意外你会看到这个画面


输入在 setting.py 中设置的用户名和密码,然后你会看到下面这个画面:




如果你成功看到这个画面,说明你成功了, 恭喜!











<think>好的,我现在需要帮助用户了解如何在PyCharm中创建和启动第一个Django项目。用户是初学者,所以步骤需要详细且易于理解。首先,我应该回忆自己在PyCharm中使用Django的经验,并确保步骤正确无误。 首先,用户需要安装PyCharm。如果用户还没有安装,可能需要提示他们下载并安装专业版,因为社区版可能不支持Django集成。不过,我需要确认这一点。记得Django在PyCharm专业版中是直接支持的,而社区版可能需要手动配置,但用户的问题可能默认使用专业版。或者可能社区版也可以通过插件或其他方式创建Django项目?这点可能需要核实。不过通常来说,官方文档推荐使用专业版进行Django开发,所以假设用户使用的是专业版。 接下来,创建新项目。在PyCharm中,选择“File” > “New Project”,然后选择Django项目的位置,并设置项目名称。这里需要指定虚拟环境,比如使用venv或者Conda,可能需要说明选择虚拟环境的好处,比如隔离依赖。然后需要设置应用名称,不过可能在项目创建后再创建应用更合适?或者Django项目默认会有一个应用?可能需要区分项目和应用程序的区别。Django项目创建时会有一个主项目目录,而应用需要随后通过startapp命令创建。因此,在项目创建界面,用户可能需要指定项目名称和位置,而应用可能是在之后创建的。 然后,安装Django。如果PyCharm在创建Django项目时自动安装,那可能不需要手动操作。但有时候可能需要用户自己安装,比如在终端中运行pip install django。需要确认创建项目时PyCharm是否自动处理了Django的安装。根据经验,当选择Django项目模板时,PyCharm会提示安装Django如果未找到,所以步骤可能包括自动安装,但用户可能需要检查是否已安装。 接下来,项目结构。创建项目后,用户需要了解生成的文件和目录结构,比如manage.py,主项目目录中的settings.py、urls.py、wsgi.py等。这有助于用户理解Django的基本结构。 然后,创建应用程序。Django项目由多个应用组成,所以用户需要知道如何通过命令行工具或PyCharm的终端运行startapp命令。例如,python manage.py startapp myapp。之后,需要将应用添加到INSTALLED_APPS中,在settings.py里配置。 配置数据库。默认使用SQLite,所以可能不需要额外设置,但如果用户需要其他数据库,可能需要修改settings.py中的DATABASES部分。不过对于初学者来说,可能先使用默认的SQLite即可。 运行迁移命令。使用python manage.py migrate来创建数据库表。这是Django的初始步骤,同步数据库结构。 启动开发服务器。通过运行python manage.py runserver,然后在浏览器中访问http://127.0.0.1:8000/来验证项目是否成功运行。 创建视图和URL。用户需要编辑views.py,创建一个简单的视图函数,然后在urls.py中配置URL路由,以便访问该视图。 此外,可能需要提到如何通过PyCharm的界面来运行这些命令,比如使用内置的终端,或者通过运行配置来启动服务器。例如,PyCharm可能有运行按钮直接启动runserver,而不需要手动输入命令。 另外,常见的错误可能包括路径配置错误,忘记添加应用到INSTALLED_APPS,或者Django版本问题。需要确保用户按照步骤操作时避免这些错误。 最后,生成相关问题,帮助用户深入学习,比如关于Django模型、模板、静态文件处理,或者部署步骤等。 现在,将这些步骤整理成逐步指南,确保每一步都清晰,并符合用户的需求。同时,引用相关的参考资料,如PyCharm官方文档或Django文档,但用户提供的引用似乎与Python学习相关,可能需要适当关联。</think>### 在PyCharm中创建和运行第一个Django项目的分步指南(适合初学者) #### **步骤1:安装PyCharm和Python** - 下载并安装 **PyCharm Professional**(专业版支持Django集成)[^1] - 确保已安装 **Python 3.6+**(建议使用最新版本) --- #### **步骤2:创建Django项目** 1. 打开PyCharm,点击 **File > New Project** 2. 在左侧选择 **Django** 模板 3. 设置项目路径和名称(例如:`my_first_project`) 4. 配置虚拟环境(默认使用`venv`) 5. 点击 **Create**,PyCharm会自动安装Django包[^2] --- #### **步骤3:验证项目结构** 创建完成后,目录结构如下: ``` my_first_project/ ├── manage.py # Django命令行工具 ├── my_first_project/ # 主项目配置目录 │ ├── __init__.py │ ├── settings.py # 项目配置(数据库、应用等) │ ├── urls.py # 主URL路由 │ └── wsgi.py # Web服务器接口 └── venv/ # 虚拟环境目录 ``` --- #### **步骤4:创建第一个应用** 1. 打开PyCharm内置终端(**View > Tool Windows > Terminal**) 2. 输入命令: ```bash python manage.py startapp my_app ``` 3. 将应用添加到配置: - 打开 `my_first_project/settings.py` - 在 `INSTALLED_APPS` 列表中添加 `'my_app'` --- #### **步骤5:配置数据库(默认使用SQLite)** - 无需额外操作,Django已默认配置SQLite数据库 - 运行迁移命令初始化数据库: ```bash python manage.py migrate ``` --- #### **步骤6:创建视图和URL** 1. 在 `my_app/views.py` 中编写视图函数: ```python from django.http import HttpResponse def hello(request): return HttpResponse("Hello, Django!") ``` 2. 配置URL路由: - 在 `my_app` 目录中新建 `urls.py`,添加: ```python from django.urls import path from . import views urlpatterns = [ path('', views.hello) ] ``` - 修改主项目的 `my_first_project/urls.py`,包含应用路由: ```python from django.urls import include urlpatterns = [ path('my_app/', include('my_app.urls')) ] ``` --- #### **步骤7:运行开发服务器** 1. 点击PyCharm右上角的 **Run** 按钮(或按`Shift+F10`) 2. 访问 http://127.0.0.1:8000/my_app/ 查看输出结果 --- #### **验证成功** 若浏览器显示 `Hello, Django!`,说明项目运行成功。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值