Έχω το εξής λάθος:
Caught an exception while rendering: No module named urls
Έχουμε και λέμε:
template:
{% for tLibentry in Libentry_List %}
<tr><td>
<table width=100% class="t2" border="1">
<tr><td class="bold" width=10%>Title:</td>
<td>{{tLibentry.title}} (
<a href="{% url fosslibapp.views.libedit 15 %}">{{tLibentry.id}}</a>)
</td></tr>
<tr><td class="bold" width=10%>Tags:</td>
<td>{{tLibentry.tags}}</td></tr>
<tr><td class="bold" width=10%>Language:</td>
<td>{{tLibentry.lang}}</td></tr>
<tr><td class="bold" width=10%>Abstract:</td>
<td>{{tLibentry.abstract}}</td></tr>
<tr><td class="bold" width=10%>Url:</td>
<td>{{tLibentry.urladd}}</td></tr>
</table>
</td></tr>
{% endfor %}
urls.py
from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()
urlpatterns = patterns('',
# Example:
# (r'^fosslib/', include('fosslib.foo.urls')),
# Uncomment the admin/doc line below and add 'django.contrib.admindocs'
# to INSTALLED_APPS to enable admin documentation:
# (r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
(r'^admin/(.*)', include('django.contrib.admin.urls')),
(r'^insertdata/$','fosslib.fosslibapp.views.libentry'),
(r'^viewdata/$','fosslib.fosslibapp.views.libview'),
(r'^editdata/\d+/$','fosslib.fosslibapp.views.libedit'),
)
views.py:
def libedit(request,entryid):
a=entryid;
l_list=Libentry.objects.all()
t=get_template('libview.html')
c=Context({'Libentry_List':l_list})
html= t.render(c)
return HttpResponse(html)
Το πρόβλημα δημιουργείται όταν στο urls.py βάζω το \d+ στο τελευταίο url και μόλις βάλω το 15 στο template
{% url fosslibapp.views.libedit 15 %}
στα views, ακόμα δεν έχω βάλει τι θα κάνει, αλλά απλά θέλω να βγει to url στο template, να το δω να εμφανίζεται για επιλογή, και στην συνέχεια θα προχωρήσω.
Ότι αναζήτηση και εάν έκανα στο google, πάντα τα post αναφέρονταν στο admi n
Καθε βοήθεια ευπρόσδεκτη.
Ωραίος! Έχεις ανεβάσει τον κώδικα κάπου; (αν όχι, bitbucket and github rock).
> Έχω το εξής λάθος:
> Caught an exception while rendering: No module named urls
Είναι λίγο δύσκολο χωρίς το full traceback να δούμε ακριβώς το λάθος
(use http://dpaste.com). Ωστόσο θα μαντέψω ότι το Python path δεν
είναι ρυθμισμένο σωστά και το settings.py δε βρίσκει το urls.py.
http://docs.djangoproject.com/en/dev/ref/django-admin/#pythonpath
http://diveintopython.org/getting_to_know_python/everything_is_an_object.html
Αν η python "βλέπει" το project αλλά όχι τα applications μέσα σε αυτό,
αντικατέστησε το "urls" με "myproject.urls".
-d
>
>
> Έχουμε και λέμε:
>
>
> template:
> {% for tLibentry in Libentry_List %}
> <tr><td>
> <table width=100% class="t2" border="1">
> <tr><td class="bold" width=10%>Title:</td>
> <td>{{tLibentry.title}} (
--
Dimitris Glezos
Transifex: The Multilingual Publishing Revolution
http://www.transifex.net/ -- http://www.indifex.com/
> <a href="{% url fosslibapp.views.libedit 15 %}">{{tLibentry.id}}</a>)
> (r'^editdata/\d+/$','fosslib.fosslibapp.views.libedit'),
> Το πρόβλημα δημιουργείται όταν στο urls.py βάζω το \d+ στο τελευταίο url και
> μόλις βάλω το 15 στο template {% url fosslibapp.views.libedit 15 %}
my (wild) guess είναι πως αφού το 15 είναι το argument που θες να περάσεις στο
view, πρέπει και το url regexp να περιμένει argument. οπότε το d+ πρέπει να
είναι μέσα σε παρενθέσεις:
(r'^editdata/(\d+)/$','fosslib.fosslibapp.views.libedit'),
http://docs.djangoproject.com/en/dev/ref/templates/builtins/#url
--
nikos roussos
http://autoverse.net/
--- On Mon, 8/3/09, nikos roussos <ni...@autoverse.net> wrote:
Το ερώτημα είναι, από πού κι ως πού το exception ήταν "No module named urls"?
-δ
--
--- On Mon, 8/3/09, Dimitris Glezos <dimi...@glezos.com> wrote:
Το ερώτημα είναι γιατί το exception πιάστηκε στο rendering και όχι
όταν φορτωνόταν το ROOT_URLCONF!
Ανοίγω τον browser και ζητάω την σελίδα, βγάζει το γνωστό Error. Με refresh, παίζει κανονικά.
Το ξανακάνω για επαλήθευση (κλείνω και ξανανοιγω τον browser για να μην είναι στην buffer), πάλι error και μετά με refresh, παίζει.
Ίσως να είναι κάτι λάθος στην εγκατάσταση ή τίποτε initialization. Προχωράω εγώ, και θα το ανεβάσω να υπάρχει ολόκληρο.
Μια που γράφω εδώ, θελω μετά από το submit μιας φόρμας, να καλέσω μια σελίδα, Το render_to_response καλεί template, ένω το HttpResponse στέλνει πίσω html. Εάν θέλω να καλέσω μια σελίδα ας πούμε http://test.org, τι του δίνω; Φαντάζομαι κάτι Redirect, αλλά δεν το έχω βρει στο DjangoBook, μάλλον θα είναι αλλού φαντάζομαι.
--- On Mon, 8/3/09, nikos roussos <ni...@autoverse.net> wrote:
> From: nikos roussos <ni...@autoverse.net>
> Subject: [django-gr] Re: Πρόβλημα με τα templates
> To: djan...@googlegroups.com
Νομίζω ψάχνεις για το HttpResponseRedirect
--
Θάνος Λευτέρης
http://thanos.lefteris.info
Ναι αλλά για να κάνει render το template πρέπει να φτάσει στο view,
και για να φτάσει στο view σημαίνει ότι έχει φορτωθεί το urlconf! go
figure! δεν έχουμε και τον κώδικα ακριβώς.