Django:最简单的方法来创建一个2页的网站?

时间:2011-05-23 10:54:34

标签: python django

我有一个用PHP制作的网站,我需要创建一个django网站。我暂时删除了PHP代码(反正代码不多),但是我在理解django如何工作以及如何创建一个简单的模板来显示页面方面遇到了问题。

我知道那里有成千上万的书籍和指南,但大多数书都太深,或者做不了我需要的东西。我只需要两个简单的页面,page1和page2,可以通过domain.com/page1和domain.com/page2访问。

实现这一目标的最简单方法是什么?

到目前为止,这是我在urls.py文件中的内容,至少是正确的吗?

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

urlpatterns = patterns('',
    url(r'^$', 'mysite.views.page1', name='home'),
    url(r'^$page2', 'mysite.views.page2', name='page2'),
)

现在显然不起作用,因为没有创建视图。

非常感谢任何帮助, // qwerty

5 个答案:

答案 0 :(得分:3)

我建议你走过tutorial,你会发现Django初学者应该知道的一切。

答案 1 :(得分:2)

试试这个:

from django.conf.urls.defaults import patterns, include, url
from mysite.yourapp import views

urlpatterns = patterns('',
    url(r'^$', 'mysite.views.page1', name='home'),
    url(r'^page2/$', 'mysite.views.page2', name='page2'),
)

r'^ page1 / $ bit是python regex

在views.py文件中

定义你的观点:

def page1:
 #something

这可以帮助您开始使用http://docs.djangoproject.com/en/1.3/intro/tutorial01/

答案 2 :(得分:1)

好吧,我发现最直接的方法是:

1) urls.py

from django.urls import include, path
from . import views
from django.views.generic import TemplateView

urlpatterns = [
    path('test.html', TemplateView.as_view(template_name='main/test.html')),
]

2) templates / test.html

Hello world!

经典3步:

1) urls.py

from django.urls import include, path
from . import views

urlpatterns = [
    path('test.html', views.test, name='test'),]

2) views.py

from django.shortcuts import render

def test(request):
    return render(request, 'test.html')

3) templates / test.html

Hello world!

答案 3 :(得分:0)

或多或少我使用的东西:

urlpatterns = patterns('',
    (r'^$', 'news.views.page1'),
    (r'^page2/$', 'news.views.page2'),

)

仅供您理解:一行的开头表示为^,结尾为$。所以^ $代表一条空行。有关正则表达式的更多信息:http://docs.python.org/library/re.html

答案 4 :(得分:0)

如果您使用的是旧版django而不是direct_to_template通用视图就是您所需要的。

from django.views.generic.simple import direct_to_template

urlpatterns = patterns('',
    (r'^page1/$', direct_to_template, {'template': 'page1.html'}),
    (r'^page2/$', direct_to_template, {'template': 'page2.html'}),
)

或者对于较新的django 1.3,您需要使用class based generic views

from django.conf.urls.defaults import *
from django.views.generic import TemplateView

urlpatterns = patterns('',
    (r'^page1/', TemplateView.as_view(template_name="page1.html")),
    (r'^page2/', TemplateView.as_view(template_name="page2.html")),
)

P.S。不要忘记创建page1.htmlpage2.html模板文件。