Django urls.py 在 WampServer 上捕获所有现有 HTML 项目的 url

Posted

技术标签:

【中文标题】Django urls.py 在 WampServer 上捕获所有现有 HTML 项目的 url【英文标题】:Django urls.py catches all existing HTML projects' urls on WampServer 【发布时间】:2012-08-28 14:02:52 【问题描述】:

我让 WampServer 与 Aptana IDE 完美配合,为不同的 html 项目使用多个文件夹。然后我安装了 Django 并将其添加到 Apache 的 httpd.conf 中:

Alias /images/ "c:/wamp/www/daas/templates/images/"
<Directory "c:/wamp/www/daas/images>
Order allow,deny
Allow from all
</Directory>

WSGIScriptAlias / "c:/wamp/www/daas/apache/django.wsgi"

<Directory "c:/wamp/www/daas/apache">
Allow from all
</Directory>

<VirtualHost *:80>
    ServerName 127.0.0.1
    DocumentRoot c:/wamp/www/daas/
</VirtualHost>

现在是我用于 html 项目的虚拟主机...

NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    ServerName localhost
    DocumentRoot 'C:\wamp\www'
</VirtualHost>
<VirtualHost 127.0.0.1>
    ServerName projectA.local
    DocumentRoot 'C:\wamp\www\projectA'
</VirtualHost>

没有正确加载,因为 Django 的 urls.py 正在捕获所有 url The current URL, projectA, didn't match any of these regular expressions,即使是那些不在 Django 项目中的。

我该如何解决这个问题?在 Djano 方面还是在 Apache 方面?这里 (How do i run Django and phpmyadmin on apache webserver on ubuntu) 是一个类似的问题,但解决方案对我不起作用。幸运的是 localhost/phpmyadmin 可以正常工作,但 localhost/projectA 不能。

【问题讨论】:

您的 httpd.conf 中的 WSGIScriptAlias / "c:/wamp/www/daas/apache/django.wsgi" 似乎捕获了 apache 上的所有请求。您应该尝试在您的虚拟主机设置中进行配置。 你是对的!我刚刚使用# 评论了该行,现在之前的 wamp 项目又开始工作了!当我想使用 django 时,我只是取消注释该行。我可以忍受:P 您可以将您的评论作为答案发布,以便我将其标记为最佳答案吗? 【参考方案1】:

您的 httpd.conf 中的 WSGIScriptAlias / "c:/wamp/www/daas/apache/django.wsgi" 似乎捕获了 apache 上的所有请求。

【讨论】:

以上是关于Django urls.py 在 WampServer 上捕获所有现有 HTML 项目的 url的主要内容,如果未能解决你的问题,请参考以下文章

如果条件在urls.py - django

Django 在导入 urls.py 时出现语法错误

刷新 django 中的 urls.py 缓存

Django 不反映对 urls.py 的更改

Django 音乐应用的 urls.py 结构

Django 忽略对 urls.py 的更新