pycharm搭建第一个django项目

简介:

用pycharm开发django项目示例

pycharm开发django工程(一) 

在pycharm(企业版)中新建Django工程,注意使用虚拟环境

1

 2

创建成功后,在pycharm显示的工程目录结构如下:

clip_image004

 

打开pycharm的Terminal,进入该工程的目录新建一个django工程

python3 manage.py startapp django_web

 

执行成功后,工程目录结构如下:

clip_image005

修改settings.py文件,注册该工程

图像 1

Django的开发遵循MTV模式(models, templates, views),views.py负责执行操作,models.py负责数据处理(如数据库连接),templates目录下存放网页的模板

首先在templates下新建一个index.html文件,并把以下内容替换到该文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html>
< html  lang = "en" >
< head >
     < meta  charset = "UTF-8" >
     < title >The blah</ title >
     < link  rel = "stylesheet"  type = "text/css"  href = " new_blah.css" >
</ head >
< body >
< div  class = "header" >
     < img  src = "images/blah.png" >
     < ul  class = "nav" >
         < li >< a  href = "#" >Home</ a ></ li >
         < li >< a  href = "#" >Site</ a ></ li >
         < li >< a  href = "#" >Other</ a ></ li >
     </ ul >
</ div >
< div  class = "main-content" >
     < h2 >Article</ h2 >
     < ul  class = "article" >
         < li >
             < img  src = "images/0001.jpg"  width = "100"  height = "90" >
             < h3 >< a  href = "#" >The blah</ a ></ h3 >
             < p >This is a dangerously delicious cake.</ p >
         </ li >
         < li >
             < img  src = "images/0002.jpg"  width = "100"  height = "90" >
             < h3 >< a  href = "#" >The blah</ a ></ h3 >
             < p >It's always taco night somewhere!</ p >
         </ li >
         < li >
             < img  src = "images/0003.jpg"  width = "100"  height = "90" >
             < h3 >< a  href = "#" >The blah</ a ></ h3 >
             < p >Omelette you in on a little secret </ p >
         </ li >
         < li >
             < img  src = "images/0004.jpg"  width = "100"  height = "90" >
             < h3 >< a  href = "#" >The blah</ a ></ h3 >
             < p >It's a sandwich. That's all we .</ p >
         </ li >
     </ ul >
</ div >
< div  class = "footer" >
     < p >&copy; Mugglecoding</ p >
</ div >
</ body >
</ html >
<--!http://css3gen.com/box-shadow/-->

首先编写views.py文件,定义访问这个index.html文件的操作

1
2
3
def  index(request): 
 
      return  render(request,  'index.html' )

 

编写urls.py文件,定义访问这个index.html的url路径(使用正则表达式)

1
2
3
4
5
6
7
from  django.conf.urls  import  url 
from  django.contrib  import  admin 
from  django_web.views  import  index  #导入views.py文件中的index函数 
urlpatterns  = 
     url(r '^admin/' , admin.site.urls), 
     url(r '^index/' , index),  #在url中凡是以url开头的访问都使用index函数来处理该请求 
]

pycharm的Terminal中输入命令运行服务器:

python3 manager.py runserver

在浏览器中输入url:http://127.0.0.1:8000/index/ 可以看到如下的格式,接下来要做的就是添加资源

clip_image007

 

将css文件(css文件的内容在最后)和图片(随意找几张图片,更名为如下所示即可)都复制到env5工程下的一个名为static的文件,工程结构如下:

  wKioL1mNSyWyKSVUAAFGOsH5Y3w569.jpg-wh_50 注意:一定要保证与templates目录同级

 

修改index.html如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
{% load static %}
< html >
< head >
     < link  rel = "stylesheet"  type = "text/css"  href = "{% static 'css/new_blah.css' %}" >
</ head >
< body >
< div  class = "header" >
     < img  src = "{% static 'images/blah.png' %}" >
     < ul  class = "nav" >
         < li >< a  href = "#" >Home</ a ></ li >
         < li >< a  href = "#" >Site</ a ></ li >
         < li >< a  href = "#" >Other</ a ></ li >
     </ ul >
</ div >
< div  class = "main-content" >
     < h2 >Article</ h2 >
     < ul  class = "articles" >
         < li >
             < img  src = "{% static 'images/0001.jpg' %}"  width = "100"  height = "91" >
             < div  class = "article-info" >
                 < h3 >< a  href = "#" >The blah</ a ></ h3 >
                 < p  class = "meta-info" >
                     < span  class = "meta-cate" >fun</ span >
                     < span  class = "meta-cate" >Wow</ span >
                 </ p >
                 < p  class = "description" >Just say something.</ p >
             </ div >
             < div  class = "rate" >
                 < span  class = "rate-score" >4.5</ span >
             </ div >
         </ li >
         < li >
             < img  src = "{% static 'images/0002.jpg' %}"  width = "100"  height = "91" >
             < div  class = "article-info" >
                 < h3 >< a  href = "#" >The blah</ a ></ h3 >
                 < p  class = "meta-info" >
                     < span  class = "meta-cate" >butt</ span >
                     < span  class = "meta-cate" >NSFW</ span >
                 </ p >
                 < p  class = "description" >Just say something.</ p >
             </ div >
             < div  class = "rate" >
                 < img  src = "{% static 'images/Fire.png' %}"  width = "18"  height = "18" >
                 < span  class = "rate-score" >5.0</ span >
             </ div >
         </ li >
         < li >
             < img  src = "{% static 'images/0003.jpg' %}"  width = "100"  height = "91" >
             < div  class = "article-info" >
                 < h3 >< a  href = "#" >The blah</ a ></ h3 >
                 < p  class = "meta-info" >
                     < span  class = "meta-cate" >sea</ span >
                 </ p >
                 < p  class = "description" >Just say something.</ p >
             </ div >
             < div  class = "rate" >
                 < span  class = "rate-score" >3.5</ span >
             </ div >
         </ li >
         < li >
             < img  src = "{% static 'images/0004.jpg' %}"  width = "100"  height = "91" >
             < div  class = "article-info" >
                 < h3 >< a  href = "#" >The blah</ a ></ h3 >
                 < p  class = "meta-info" >
                     < span  class = "meta-cate" >bay</ span >
                     < span  class = "meta-cate" >boat</ span >
                     < span  class = "meta-cate" >beach</ span >
                 </ p >
                 < p  class = "description" >Just say something.</ p >
             </ div >
             < div  class = "rate" >
                 < span  class = "rate-score" >3.0</ span >
             </ div >
         </ li >
     </ ul >
</ div >
< div  class = "footer" >
     < p >&copy; Mugglecoding</ p >
</ div >
</ body >
</ html >

在settings.py文件的最后增加如下配置

STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)

 

再次打开浏览器就可以看到正常的显示

wKiom1mNSgLBxgS0AAGGE_tm0Yk582.png-wh_50

 

css文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
body {
     padding: 0 0 0 0;
     background-color: #ffffff;
     background-image: url(../images/bg3-dark.jpg);
     background-position: top left;
     background-repeat: no-repeat;
     background-size: cover;
     font-family: Helvetica, Arial, sans-serif;
}
.main-content {
     width: 500px;
     padding: 20px 20px 20px 20px;
     border: 1px solid #dddddd;
     border-radius:15px;
     margin: 30px auto 0 auto;
     background: #fdffff;
     -webkit-box-shadow: 0 0 22px 0 rgba(50, 50, 50, 1);
     -moz-box-shadow:    0 0 22px 0 rgba(50, 50, 50, 1);
     box-shadow:         0 0 22px 0 rgba(50, 50, 50, 1);
}
.main-content p {
     line-height: 26px;
}
.main-content h2 {
     color: #585858;
}
.articles {
     list-style-type: none;
     padding: 0;
}
.articles img {
     float: left;
     padding-right: 11px;
}
.articles li {
     border-top: 1px solid #F1F1F1;
     background-color: #ffffff;
     height: 90px;
     clear: both;
}
.articles h3 {
     margin: 0;
}
.articles a {
     color:#585858;
     text-decoration: none;
}
.articles p {
     margin: 0;
}
.article-info {
     float: left;
     display: inline-block;
     margin: 8px 0 8px 0;
}
.rate {
     float: right;
     display: inline-block;
     margin:35px 20px 35px 20px;
}
.rate-score {
     font-size: 18px;
     font-weight: bold;
     color: #585858;
}
.rate-score-hot {
}
.meta-info {
}
.meta-cate {
     margin: 0 0.1em;
     padding: 0.1em 0.7em;
     color: #fff;
     background: #37a5f0;
     font-size: 20%;
     border-radius: 10px ;
}
.description {
     color: #cccccc;
}
.nav {
     padding-left: 0;
     margin: 5px 0 20px 0;
     text-align: center;
}
.nav li {
     display: inline;
     padding-right: 10px;
}
.nav li:last-child {
     padding-right: 0;
}
.header {
     padding: 10px 10px 10px 10px;
}
.header a {
     color: #ffffff;
}
.header img {
     display: block;
     margin: 0 auto 0 auto;
}
.header h1 {
     text-align: center;
}
.footer {
     margin-top: 20px;
}
.footer p {
     color: #aaaaaa;
     text-align: center;
     font-weight: bold;
     font-size: 12px;
     font-style: italic;
     text-transform: uppercase;
}










本文转自 Edenwy  51CTO博客,原文链接:http://blog.51cto.com/edeny/1955429,如需转载请自行联系原作者
目录
相关文章
Django—同一项目不同app使用不同数据库
在Django项目中实现不同app使用不同数据库的配置,可以通过配置多数据库、创建数据库路由和配置路由来实现。通过这种方法,可以有效地将数据隔离到不同的数据库,提高数据管理的灵活性和系统的可扩展性。希望本文能为开发者在Django项目中使用多数据库提供清晰的指导。
52 4
|
4月前
|
使用pycharm 开发streamlit的项目启动
要在 PyCharm 中配置 Streamlit 环境并调试应用,请按以下步骤操作:1. 确保 PyCharm 配置了 Python 解释器并安装 Streamlit 包(File -&gt; Settings -&gt; Project -&gt; Python Interpreter)。2. 配置调试运行设置(Run -&gt; Edit Configurations,添加 Python 配置并命名)。3. 选择新配置并点击调试按钮启动应用。
345 23
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
247 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
323 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
242 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
解决django项目报错很离谱的报错之RuntimeError: populate() isn't reentrant
解决django项目报错很离谱的报错之RuntimeError: populate() isn't reentrant
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
185 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
一个人活成一个团队:python的django项目devops实战
DevOps通过自动化的流程,使得构建、测试、发布软件能够更加地快捷、频繁和可靠。本文通过一个python的django个人博客应用进行了DevOps的实战,通过DevOps拉通开发和运维,通过应用云效的DevOps平台实现自动化“软件交付”的流程,使得构建、测试、发布软件能够更加地快捷、频繁和可靠,提交研发交付效率。作为个人项目也是可以应用devops提高效率。
110 3
震惊!掌握Django/Flask后,我竟然轻松征服了所有Web项目难题!
【7月更文挑战第15天】Python Web开发中,Django以其全面功能见长,如ORM、模板引擎,助你驾驭复杂需求;Flask则以轻量灵活取胜,适合快速迭代。两者结合使用,无论是数据库操作、用户认证还是API开发,都能让你应对Web挑战游刃有余。掌握这两者,Web项目难题变得易如反掌!
113 10

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等